Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rxyalxrd/smartcalc
Приложение, которое проводит теплотехнический расчет.
https://github.com/rxyalxrd/smartcalc
alembic fastapi makefile poetry-python postgresql pydantic-settings pydantic-v2 python3 redis sqlalchemy uvicorn
Last synced: about 2 months ago
JSON representation
Приложение, которое проводит теплотехнический расчет.
- Host: GitHub
- URL: https://github.com/rxyalxrd/smartcalc
- Owner: Rxyalxrd
- License: mit
- Created: 2024-12-11T17:13:23.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-12-11T17:40:22.000Z (about 2 months ago)
- Last Synced: 2024-12-11T18:27:06.723Z (about 2 months ago)
- Topics: alembic, fastapi, makefile, poetry-python, postgresql, pydantic-settings, pydantic-v2, python3, redis, sqlalchemy, uvicorn
- Language: Python
- Homepage:
- Size: 30.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SmartCalc
SmartCalc — это веб-приложение, реализующее функциональность умного калькулятора на основе современных технологий Python и FastAPI. Репозиторий создан для демонстрации интеграции серверной части с базами данных, очередями задач, а также для работы с конфигурацией и тестированием.
## Возможности
- Работа с REST API на базе **FastAPI**.
- Хранение данных в реляционной базе данных **PostgreSQL**.
- Кэширование данных и очереди задач с использованием **Redis**.
- ORM для работы с базой данных через **SQLAlchemy**.
- Управление миграциями с помощью **Alembic**.
- Организация модульного кода и конфигурации через **Poetry** и **Pydantic**.## Установка и запуск
### Предварительные требования
- Python ≥ 3.10
- Redis
- PostgreSQL### Шаги установки
1. Клонируйте репозиторий:
```bash
git clone https://github.com/Rxyalxrd/smartcalc.git
cd smartcalc
```2. Установите зависимости с использованием Poetry:
```bash
poetry install
```3. Настройте файл `.env` на основе примера `.env.example`:
```
cp .env.example .env
```4. Примените миграции базы данных:
```bash
poetry run alembic upgrade head
```5. Запустите сервер разработки:
```bash
poetry run uvicorn app.main:app --reload
```### Использование Makefile
В репозитории предусмотрен Makefile для упрощения распространённых задач:
- `make run` — Запуск приложения.
- `make migrate` — Применение миграций.
- `make test` — Запуск тестов.## Тестирование
В папке `tests` находятся модульные тесты для проверки функциональности приложения. Чтобы запустить тесты, выполните команду:
```bash
poetry run pytest
```## Структура проекта
- `app/` — основной код приложения.
- `frontend/` — интеграция с фронтенд-частью.
- `tests/` — тестовые файлы.
- `alembic/` — файлы для миграций базы данных.## Используемые технологии
- **FastAPI**: высокопроизводительный веб-фреймворк.
- **PostgreSQL**: реляционная база данных.
- **Redis**: кэширование и очереди задач.
- **SQLAlchemy**: работа с базой данных через ORM.
- **Alembic**: управление миграциями.
- **Pydantic**: обработка данных и управление конфигурацией.## Лицензия
Проект распространяется под лицензией [MIT](./LICENSE).