https://github.com/othmane099/todo-list-app-fastAPI-react
Simple todo list application
https://github.com/othmane099/todo-list-app-fastAPI-react
fastapi javascript python react todolist
Last synced: 12 months ago
JSON representation
Simple todo list application
- Host: GitHub
- URL: https://github.com/othmane099/todo-list-app-fastAPI-react
- Owner: othmane099
- Created: 2024-02-18T18:20:52.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-25T07:36:17.000Z (over 2 years ago)
- Last Synced: 2025-04-01T21:40:21.193Z (about 1 year ago)
- Topics: fastapi, javascript, python, react, todolist
- Language: JavaScript
- Homepage:
- Size: 4.48 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## About
My project is a simple to-do list application. The front end is built using React, utilizing the template. The backend is developed with Python, employing FastAPI. The application includes the following features:
- Users can create multiple lists by specifying the list name. Each list can contain different items (tasks), with each item having a title, priority (high, medium, low, or none), and due date.

- Accessing the item list of a specific list is achieved by navigating to the list of lists and then clicking on the desired list's name.

- Items can be marked as done by checking their respective checkboxes.
- Filtering options are available within each list based on priority and item status (done or not yet).

- The project contains a dashboard with 4 KPIs:
- Total number of items (both done and not yet done).
- Number of items not done.
- Number of items with a due date and not done.
- Number of items with high priority and not done.

I tried writing clean and understandable code throughout the project, ensuring readability. I'm looking forward to your feedback!
## Installation
Clone the project
```bash
git clone https://github.com/othmane099/todo_app.git
```
#### Backend
Set up virtual environment
```Bash
python3 -m venv .venv
source .venv/bin/activate
```
Install requirements
```Bash
pip install -r requirements.txt
```
Set up db_url in main.py
```Bash
register_tortoise(
app,
db_url='mysql://root:password@localhost/todo_db',
modules={"models": ["models"]},
generate_schemas=True,
add_exception_handlers=True
)
```
Run the server
```Bash
python -m uvicorn main:app --reload
```
#### Frontend
**Recommended Node.js v18.x.**
Install Packages
```
yarn install
```
Start server
```
yarn dev
```