Loading repository dataβ¦
Loading repository dataβ¦
LyanKaleu / repository
π Repository dedicated to learning and practicing FastAPI concepts, backend architecture, and modern Python development.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
This repository is dedicated to learning and practicing FastAPI concepts, backend architecture, and modern Python development. It serves as a hands-on playground for building APIs, working with databases, authentication, and deployment workflows.
The project focuses on:
"The best way to learn a framework is to build something real with it."
fastapi_learning/
app.py
database.py
security.py
settings.py
models/
routers/
schemas/
tests/
conftest.py
test_app.py
test_auth.py
test_todos.py
test_users.py
git clone https://github.com/LyanKaleu/fastapi_learning.git
cd fastapi_learning
poetry install
poetry shell
Before starting the app, make sure you have a .env file with the required environment variables, such as:
DATABASE_URL=...
SECRET_KEY=...
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30
If you prefer the development-style command, you can use:
poetry run fastapi dev fastapi_learning/app.py
pytest -q
If you prefer a shorter workflow, Taskipy is already configured in pyproject.toml.
task run
task test
task lint
task format
task migrate
task migration-create "Describe your change"
Here is what each task does:
task run β starts the FastAPI development servertask test β runs the test suite with pytest and coveragetask lint β checks the codebase with Rufftask format β formats the code with Rufftask migrate β applies the latest Alembic migrationstask migration-create "..." β creates a new Alembic migration with an autogenerated messagetask migrate-down β reverts the last migrationThis project uses Alembic for schema evolution.
poetry run alembic upgrade head
poetry run alembic revision --autogenerate -m "Describe your change"
The test suite covers API behavior, authentication, database access, and core application flows.
pytest -q
You can also run the project in a container.
docker build -t fastapi-learning .
docker run -p 8000:8000 fastapi-learning
The project is also prepared for deployment on Fly.io through the GitHub Actions workflow in .github/workflows/fly-deploy.yml.
Before deploying, make sure you have the Fly CLI installed. You can install it from: https://fly.io/docs/hands-on/install-flyctl/
Typical flow:
flyctl deploy
The application image uses the entrypoint defined in entrypoint.sh, so migrations are applied automatically when the container starts.
FastAPI combines Python simplicity with modern API development practices:
Lyan Kaleu
// Learning backend development one concept at a time.