This project is a simple attempt at rebuilding a personal project in FastAPI to see how it differs from Django.
Tool | Function | Replaces from v1 |
---|---|---|
FastAPI | Web Framework | Django |
- | API Documentation | Postman |
Pydantic | Data Validation & Serialization | djangorestframework |
SQLAlchemy ORM | Object Relational Mapper | Django (Django ORM) |
Alembic | Database Migration Management | Django |
pgAdmin | Database Management UI | Django |
Psycopg2 | Implements Python's DBAPI | same for both versions |
PostgreSQL | Database | same for both versions |
Uvicorn | Server | gunicorn |
Passlib | Encryption (for passwords) | Django (auth) |
Python-jose | Creation and Interpretation of JWTs | djangorestframework-simplejwt |
Python-dotenv | Environment Variables Management | django-environ |
The following resources were referred to during this rebuild:
- FastAPI - User Guide
- YouTube - Tech with Tim - Python FastAPI Tutorial
- YouTube - Bitfumes - FastAPI - A Python Framework | Full Course
- Compose - Using PostgreSQL through SQLAlchemy
- Alembic - Tutorial
- Alembic - Auto Generating Migrations
- Towards Data Science - How to Run PostgreSQL and pgAdmin Using Docker
- Pydantic - Usage - Schema