Skip to content

Приложение, которое проводит теплотехнический расчет.

License

Notifications You must be signed in to change notification settings

Rxyalxrd/smartcalc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SmartCalc

SmartCalc — это веб-приложение, реализующее функциональность умного калькулятора на основе современных технологий Python и FastAPI. Репозиторий создан для демонстрации интеграции серверной части с базами данных, очередями задач, а также для работы с конфигурацией и тестированием.

Возможности

  • Работа с REST API на базе FastAPI.
  • Хранение данных в реляционной базе данных PostgreSQL.
  • Кэширование данных и очереди задач с использованием Redis.
  • ORM для работы с базой данных через SQLAlchemy.
  • Управление миграциями с помощью Alembic.
  • Организация модульного кода и конфигурации через Poetry и Pydantic.

Установка и запуск

Предварительные требования

  • Python ≥ 3.10
  • Redis
  • PostgreSQL

Шаги установки

  1. Клонируйте репозиторий:

    git clone https://github.com/Rxyalxrd/smartcalc.git
    cd smartcalc
  2. Установите зависимости с использованием Poetry:

    poetry install
  3. Настройте файл .env на основе примера .env.example:

    cp .env.example .env
    
  4. Примените миграции базы данных:

    poetry run alembic upgrade head
  5. Запустите сервер разработки:

    poetry run uvicorn app.main:app --reload

Использование Makefile

В репозитории предусмотрен Makefile для упрощения распространённых задач:

  • make run — Запуск приложения.
  • make migrate — Применение миграций.
  • make test — Запуск тестов.

Тестирование

В папке tests находятся модульные тесты для проверки функциональности приложения. Чтобы запустить тесты, выполните команду:

poetry run pytest

Структура проекта

  • app/ — основной код приложения.
  • frontend/ — интеграция с фронтенд-частью.
  • tests/ — тестовые файлы.
  • alembic/ — файлы для миграций базы данных.

Используемые технологии

  • FastAPI: высокопроизводительный веб-фреймворк.
  • PostgreSQL: реляционная база данных.
  • Redis: кэширование и очереди задач.
  • SQLAlchemy: работа с базой данных через ORM.
  • Alembic: управление миграциями.
  • Pydantic: обработка данных и управление конфигурацией.

Лицензия

Проект распространяется под лицензией MIT.

About

Приложение, которое проводит теплотехнический расчет.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published