https://github.com/macpli/task-todoapp
https://github.com/macpli/task-todoapp
Last synced: over 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/macpli/task-todoapp
- Owner: macpli
- Created: 2025-03-11T15:16:51.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-11T15:47:03.000Z (over 1 year ago)
- Last Synced: 2025-03-11T16:28:16.776Z (over 1 year ago)
- Language: C#
- Size: 38.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# My Solution to the assignment
I have created the TODO List application with all the required CRUD functionalities and written tests for them.
## Frontend
I've used the provided template and created a simple client UI with tailwindcss and some lucid icons.
You can:
- view tasks
- create tasks
- rename tasks ( by clicking on the text )
- delete tasks
- change state from completed to not completed
## Backend
I have chosen to go with the simple route of using in-memory storage.
Folders: Controllers, Models, Repositories have been created for better project organisation.
All required CRUD operations have been implemented and tested using xUnit.
# TodoList Assignment
Build a **TODO list application** with a **React frontend** and a **C# backend API**.
Write an **integration test** using xUnit on the backend to verify that all **CRUD (Create, Read, Update, Delete)** operations work correctly.
## Instructions
1. **Clone this repository**, make the necessary updates, and push your changes to your **GitHub account**.
2. Implement both the **frontend** and **backend** as described below.
## Frontend
- Start from provided **empty React app**, created using [React’s official guide](https://react.dev/learn/creating-a-react-app).
- Design and implement a **TODO list UI** that allows users to:
- **Add** new items
- **Rename** existing items
- **Remove** items
- The frontend **must communicate with the backend API** for all CRUD operations.
## Backend
- Start from provided **empty C# Web API project** along with an **empty xUnit test project**.
- Use any **persistence method** of your choice:
- **Relational DB**, **document DB**, **filesystem**, or **in-memory storage**.
- Implement **CRUD endpoints** for managing TODO items.
- Write **integration tests** in xUnit that call the real API endpoints to validate that all CRUD operations work correctly.