An advanced, asynchronous REST API for managing tasks, built with FastAPI. This project features secure authentication, database integration, and a modular architecture suitable for scalable applications.
- Features
- Tech Stack
- Project Structure
- Getting Started
- Running the Application
- Docker Support
- API Documentation
- Contributing
- License
- ⚡ High Performance: Built on Starlette and Pydantic for speed.
- 🔐 Authentication: Secure JWT (JSON Web Token) based login and registration.
- 🗄️ Database: Asynchronous database support (PostgreSQL/SQLite) using SQLAlchemy/SQLModel.
- ✅ CRUD Operations: Create, Read, Update, and Delete tasks efficiently.
- 🐳 Dockerized: Fully containerized for easy deployment.
- 🧪 Testing: Includes unit and integration tests (Pytest).
- 📄 Documentation: Automatic interactive API docs (Swagger UI & ReDoc).
- Framework: FastAPI
- Language: Python 3.10+
- Database ORM: SQLAlchemy / SQLModel
- Validation: Pydantic
- Authentication: OAuth2 with Password (Bearer), Passlib (Bcrypt)
- Server: Uvicorn
- Containerization: Docker & Docker Compose
FastAPI-ToDo-Advanced/
├── app/
│ ├── api/ # Route handlers
│ ├── core/ # Configs (Settings, Security)
│ ├── db/ # Database connection & models
│ ├── schemas/ # Pydantic models (Request/Response)
│ ├── services/ # Business logic
│ └── main.py # App entry point
├── tests/ # Pytest tests
├── .env.example # Environment variables template
├── docker-compose.yml # Docker services config
├── Dockerfile # Image build instruction
├── requirements.txt # Project dependencies
└── README.md