A personal backend project built with FastAPI to explore authentication, API design, and backend architecture in Python.
- User registration and login
- JWT authentication
- Protected endpoints using FastAPI dependencies
- Todo CRUD operations
- Request validation with Pydantic
- SQLite persistence using SQLAlchemy ORM
- Layered architecture (Controllers, Services, Models, Core)
- Python 3.10+
- FastAPI
- SQLAlchemy
- SQLite
- PyJWT
- Passlib (bcrypt)
- Uvicorn
app/
├── controllers/
├── services/
├── models/
├── core/
└── main.py
pip install -r requirements.txt
uvicorn main:app --reloadAPI Documentation:
- Swagger UI: http://127.0.0.1:8000/docs
- ReDoc: http://127.0.0.1:8000/redoc
This project was created to learn and practice:
- JWT-based authentication
- Dependency injection
- RESTful API development
- SQLAlchemy ORM
- Backend architecture patterns
- Secure API design