A modern, clean-architecture inspired Todo app built with Python, SQLAlchemy, and PostgreSQL.
- ✅ Create, update, and delete todos
- 📅 Set due dates and priorities
- 🔔 Mark tasks as completed
- 🏷️ User-based task management
- 🏗️ Clean, maintainable codebase using best practices
This project follows the Clean Architecture principles:
- Entities: Business models and logic
- Use Cases: Application-specific business rules
- Interfaces: Database, API, and external services
- Frameworks & Drivers: SQLAlchemy, FastAPI, etc.
src/
├── entities/
├── use_cases/
├── interfaces/
├── database/
└── ...
-
Clone the repo
git clone https://github.com/Just2Deep/todo-clean.git cd todo-clean/todoist -
Install dependencies
pip install -r requirements.txt
-
Configure environment
- Copy
.env.exampleto.envand set your variables.
- Copy
-
Run migrations
alembic upgrade head
-
Start the app
uvicorn main:app --reload
- Python 3.13+
- SQLAlchemy 2.0
- PostgreSQL
- FastAPI
- Alembic (migrations)
- Fork the repo
- Create your feature branch (
git checkout -b feature/your-feature) - Commit your changes
- Push to the branch
- Open a Pull Request
MIT License
Made with ❤️ by Deep!