- UV
- JWT Auth
- Admin (SQLAdmin)
- ORM (SQLModel / SQLAlquemy)
- Migration (Alembic)
- Tests (Pytest)
- Coverage (Coverage)
- camelCase API
- Celery
- Docker
- PostgreSQL
- Redis
- CI/CD (Github Actions)
- AWS Lamdba (Mangum)
- Install Docker on your machine.
- Start Docker.
- Add the environment variables in the
.envfile. - Open the terminal in the root of the project.
- Build the image:
docker compose build
- Run the migrations:
docker compose run web alembic upgrade head
- Run the containers
docker compose up --watch
- When you want to stop the containers, press
Ctrl+Cor:
docker compose down
- Run the containers
docker compose up --watch
- Access:
- Swagger: http://localhost:8000/api/v1/docs
- Redoc: http://localhost:8000/api/v1/redoc
docker compose run web pytest
- Run tests with Pytest.
docker compose run web coverage run -m pytest
- To check the test coverage, it is possible to use Terminal Report or HTML.
- Run:
docker compose run web coverage report
- Run:
docker compose run web coverage html
- Initialize the
/htmlcovdirectory generated by the test coverage using the Live-Server extension in VSCode. - Go to http://localhost:5500/htmlcov/
- Check the test coverage via HTML:
docker compose down -v
docker compose run web alembic revision --autogenerate -m “first_commit”
docker compose run web alembic upgrade head
docker compose run web alembic downgrade base
docker compose run web alembic history
docker compose run web COMMAND
docker compose run web python app/seeds.py
-
Create your account in AWS
-
Install AWS CLI
-
Login in AWS CLI
-
Change variables in ./scripts/setup.sh:
REGION="us-east-1"
AWS_ACCOUNT_ID="111111111111"
PROJECT_NAME="fastapi-template"- Run setup.sh script:
sh ./scripts/setup.sh
- Change AWS Lambda function URL permissions in AWS Console

