Skip to content

V-Solar-UC/backend

Repository files navigation

V-Solar backend 💻

Importante:

despues de clonar el repositorio:

  1. correr pip install pre-commit, luego pre-commit install y finalmente pre-commit install --hook-type commit-msg.

  2. correr mkdir pgadmin

  3. correr cp .env.example .env y rellenar variables de entorno

How to:

start containers:

docker compose up --build

run migrations (upgrade or downgrade):

docker compose exec api poetry run alembic upgrade head

docker compose exec api poetry run alembic downgrade base

connect to postgres:

docker compose exec db psql -h localhost -U postgres --dbname=<dbname>

run tests:

docker compose exec api poetry run pytest -v -s (-s is optional, outputs logs to stdout)

libraries:

  • poetry: dependency management

  • FastAPI

  • alembic: migrations

  • SQLAlchemy: orm and database connection

  • pytest: tests

  • pydantic: data parsing, data validation (input and output)

  • loguru: logging to stdout and disk (overrides uvicorn handlers)

  • httpx & asgi-lifespan: permite a pytest correr tests con funciones asincronas (necesarias para hacer queries a la db)

relevant resources:

pytest fixtures

database queries (raw & sqlalchemy)

migrations with alembic

pre-commit hooks

repositories pattern

how to use pydantic models

running tests asynchronously

why async tests

sqlalchemy events

how sqlalchemy sessions work

sqlalchemy queries

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published