A full-stack todo list application with a .NET Core backend API and React frontend.
TodoApi/- .NET Core backend API with SQLite databasetodo-ui/- React frontend built with Vite
- .NET SDK 5.0 or later
- SQLite
The application uses SQLite and Entity Framework Core. The database will be automatically created on first run, but you can also initialize it manually:
- Navigate to the API directory:
cd TodoApi- Create and apply migrations:
dotnet ef migrations add InitialCreate
dotnet ef database update- Build the project:
cd TodoApi
dotnet build- Run the API:
dotnet runThe API will be available at http://localhost:5000 by default.
- Node.js (LTS version)
- npm or yarn
- Install dependencies:
cd todo-ui
npm install- Start the development server:
npm run devThe frontend will be available at http://localhost:5173.
- Start the backend API (in one terminal):
cd TodoApi
dotnet run- Start the frontend (in another terminal):
cd todo-ui
npm run dev- Access the application at
http://localhost:5173
The following endpoints are available:
GET /api/todo- Get all todo itemsGET /api/todo/{id}- Get a specific todo itemPOST /api/todo- Create a new todo itemPUT /api/todo/{id}- Update a todo itemDELETE /api/todo/{id}- Delete a todo item
- The API uses Entity Framework Core with SQLite
- Controllers are in
TodoApi/Controllers - Database context and models are in
TodoApi/DataandTodoApi/Models - Business logic is in
TodoApi/Services
- React components are in
todo-ui/src/components - Uses Material-UI for styling
- Axios for API communication