REST API для приложения справочника с организациями, зданиями и видами деятельности.
⚠️ MVP. Проект реализован в рамках тестового задания.
Основная цель — демонстрация:
- проектирование реляционной модели данных
- асинхронную работу с PostgreSQL
- FastAPI + SQLAlchemy 2.0
- Alembic миграции
- документированный API (Swagger / ReDoc)
git clone https://github.com/sibeardev/elsa.git
cd elsaPOSTGRES__USER={user}
POSTGRES__PASSWORD={yourpassword}
POSTGRES__DB={catalog_db}
API_KEY={staticApiKey}
В alembic.ini найдите sqlalchemy.url и установите:
sqlalchemy.url = postgresql+asyncpg://user:yourpassword@db:5432/dbuser, yourpassword и db должны совпадать с настройками из .env
docker-compose up --builddocker compose exec api uv run alembic upgrade headПосле запуска сервисы доступны по следующим адресам:
- Swagger UI: http://localhost:8000/docs
- Redoc: http://localhost:8000/redoc
docker compose exec api uv run python -m scripts.seed_dbИсточник данных: data/test_data.json
Ctrl+C или
docker compose down