fastapi-starter-project
fastapi-starter-project copied to clipboard
FastAPI Starter Project with SQLModel and Alembic
FastAPI Starter Project
Project includes:
fastapisqlmodelalembic
Models
Check db/models and migrations, there is one example.
Using docker
Setup env variables in app/core/.env using app/core/.env-example
Install and run
docker-compose up -d web
# you can track logs with:
docker-compose logs -f --tail=100 web
Go to: http://localhost:8000/api/docs/
Migrations
Create migrations
docker-compose exec web alembic revision --autogenerate -m "Example model"
Apply migrations
docker-compose exec web alembic upgrade head
Tests
Run tests
docker-compose exec web pytest .
Without docker
Install
cd app/
pip install -r requirements/development.txt
Setup env variables in app/core/.env.
Run
cd app/
python app/server.py
Go to: http://localhost:8000/api/docs/
Migrations
Create migrations
alembic revision --autogenerate -m "Example model"
Apply migrations
alembic upgrade head
Tests
Run tests
pytest .
Environment Variables
To run this project, you will need to add the following environment variables to your app/core/.env file
BASE_URL - default: http://localhost:8000
RELOAD - default: false
DB_HOST - default: localhost
DB_PORT - default: 5432
DB_USER - default: postgres
DB_PASS - default: postgres
DB_BASE - default: db
DB_ECHO - default: false