Skip to content

About

Pet project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Проект “LibraryManager”

Описание:

ПО для автоматизации библиотеки покрывает все кейсы от управления движениями книги, до административной части.

Создаю проект исключительно для учебных целей. Посмотрим что будет.

Архитектура

Проект разделён на четыре слоя:

  • presentation — HTTP API, CLI, схемы запросов и ответов;
  • application — прикладные сервисы и сценарии использования;
  • domain — предметные сущности и контракты репозиториев без зависимостей от фреймворков;
  • infrastructure — PostgreSQL, Redis, JWT, хеширование паролей и конфигурация.

Прикладной и доменный слои не зависят от FastAPI, Pydantic, SQLAlchemy и Redis. Инфраструктура реализует объявленные ими контракты, а сборка зависимостей выполняется на границе presentation-слоя.

RoadMap

Для развертки проекта, открываем каталог environment копируем в нем пример файла настроек и сохраняем убрав слово example: .env.example -> .env .env.postgresql.example -> .env.postgresql .env.redis.example -> .env.redis указываем свои значения.

Далее устанавливаем зависимости проекта: uv sync

Запуск в докере:

  • make build

  • make up

Команды для работы с проектом перечислены в Makefile, показать весь список доступных команд: make list

Автор: Артём

About

Pet project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages