Backend приложения "100 дней бега".
Возможности: функционал работы с пользователем(регистрация, авторизация, аутентификация), получение тренировок, ачивок, истории, сохранение истории.
Проект использует Poetry как инструмент управления зависимостями.
-
Клонировать репозиторий.
git clone git@github.com:Diary-workout-tracker/diary-workout-tracker-backend.git cd diary-workout-tracker-backend
-
Создание и активация виртуального окружения при помощи poetry
2.1 Создание отдельного окружения
python -m venv venv source venv/Scripts/activate
для Linux и macOS
python3 -m venv venv source venv/bin/activate
2.2 Использование poetry
pip install poetry poetry shell poetry install
Примечание: версия python должна быть ^3.11.
- Инициализация pre-commit.
poetry run pre-commit install
- Создайте и заполните файл
.env
согласно шаблону .env.example - Выполнить команду Make в консоли.
make project-init-dev # при первом запуске
make project-start-dev # при последующих запусках
- Создание нового проекта:
poetry new new_project
- Установка зависимостей:
poetry install
- Запуск виртуального окружения:
poetry shell
- Внедрение Poetry в уже имеющийся проект:
poetry init
- Обновление зависимостей:
poetry update
- Добавление новой библиотеки:
poetry add <имя_библиотеки>
- Удаление зависимости:
poetry remove <имя_библиотеки>
- Просмотр зависимостей:
poetry show
- Запуск из виртуального окружения:
poetry run <команда>
Важно С использованием poetry, выполнение команд из виртуального окружения происходит через poetry run <команда>
.
- Установить pre-commit в проекте:
pre-commit install
- Запустить проверку всех хуков:
pre-commit run -a
- Запустить конкретный хук:
poetry run pre-commit run <имя-хука>
- Деактивировать автоматическое выполнение хуков перед коммитом:
poetry run pre-commit uninstall
- Обновить pre-commit хуки:
poetry run pre-commit autoupdate
- Удаление Volumes:
make clear-volumes-dev
- Запуск контейнеров:
make start-containers-dev
- Выполнить миграции Django:
make migrate-dev
- Собрать статику Django:
make collectstatic-dev
- Создать супер пользователя:
make createsuperuser-dev
- Загрузка фикстур достижений
make loadachievment-dev
- Запуск сервера:
make start-server-dev
- Инициализировать проект:
make project-init-dev
- Запустить проект:
make project-start-dev
- Остановить контейнеры:
make containers-stop-dev