This is the main project repository for a modern ToDo Application.
Live Demo URL: todo-app
ToDoApp/
βββ ToDoApp.Server/ # ASP.NET Core backend (Web API)
β βββ Controllers/
β βββ Models/
β βββ Services/
β βββ Program.cs
β βββ appsettings.json
β βββ ... # Other backend-related files
β
βββ todoapp.client/ # React frontend (Vite)
β βββ public/
β β βββ manifest.json
β β βββ vite.svg
β βββ src/
β β βββ api/ # API calls for tasks, groups, and auth
β β βββ Components/ # All React components (AppSidebar, Dashboard, GroupCard, etc.)
β β βββ global/ # Context and helpers
β β βββ Hooks/ # Custom hooks (e.g., useTaskEvents)
β β βββ Layout/ # Layout components
β β βββ scss/ # SCSS styles (CoreUI, custom, vendors)
β β βββ _nav.jsx # Sidebar navigation config
β β βββ App.jsx # Main App component
β β βββ main.jsx # Entry point
β β βββ routes.jsx # Route definitions
β βββ index.html
β βββ package.json
β βββ vite.config.js
β βββ eslint.config.js
β βββ README.md
β
βββ Sql/ # Database migration scripts
β βββ 01-initial.sql
β βββ ...
β
βββ ToDoApp.sln # Visual Studio solution file
βββ README.md # Main project overview (this file)
-
Frontend:
The frontend is a single-page React application for managing tasks, groups, and starred items. It communicates with the backend via RESTful APIs. -
Backend:
The backend is an ASP.NET Core Web API that handles all data operations, authentication, and business logic for the ToDo app.
- .NET 8 SDK
- Node.js (v18+ recommended)
- npm
The backend requires a SQL database. You can generate the necessary database and tables using the provided SQL script.
- SQL Script: See
./Sql/Database_Migration.sqlfor database and table creation queries.
Ensure you run this script on your SQL Server instance before starting the backend API.
-
Clone the repository:
git clone <your-repo-url> cd todo-app
-
Set up the backend: Navigate to ToDoApp.Server and follow the instructions to run the ASP.NET Core API.
-
Set up the frontend: Navigate to todoapp.client and follow the instructions to install dependencies and run the React app.
This project is licensed under the MIT License.
