๐ฒ FastAPI Boilerplate
The simplest production ready Django like FastAPI boilerplate ๐
๐ Features
โ
Production ready with one docker-compose command.
โ
Similar to Django Code Structure.
โ
Local dockerized db.
โ
Dockerized PgAdmin to check the db records.
โ
Migrations, Serializers and ORM configured.
โ
CRUD APIs (Sneaker App).
โ
Token Authentication.
โ
Logging Mechanism.
โ
Testcases TDD with Pytest.
โ
Seperate Database(Sqlite) and mock session configured for test cases.
โ
Poetry dependency management and packaging made easy. (Better than pip)
โ๏ธ Techologies Used
- Alembic: For Database Migrations.
- SQLAlchemy: For ORM.
- Pydantic: For Typing or Serialization.
- Pytests: For TDD or Unit Testing.
- Poetry: Python dependency management and packaging made easy. (Better than pip)
- Docker & docker-compose : For Virtualization.
- postgresSQL: Database.
- PgAdmin: To interact with the Postgres database sessions.
- Loguru: Easiest logging ever done.
๐ Up and run in 5 mins ๐
Make sure you have docker and docker-compose installed docker installation guide
Step 1
create .env file in root folder fastapi-boilerplate/.env
DATABASE_URL=postgresql+psycopg://postgres:password@db:5432/boiler_plate_db
DB_USER=postgres
DB_PASSWORD=password
DB_NAME=boiler_plate_db
[email protected]
PGADMIN_PASSWORD=admin
X_TOKEN=12345678910
Step 2
docker-compose up
localhost:8000
๐ Your Production Ready FastAPI CRUD backend app is up and running on - Swagger docs on
localhost:8000/docs
- GET request example
- PgAdmin on
localhost:5050