ToDo список на Python

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

  • backend. Бекенд приложения на Django + Postgres. Для запуска необходим docker-compose.
  • frontend. Фронт приложения на Python + tkinter.
  • docs. Документация по проекту и ресурсы для неё

Тесты проектов лежат в подпапках tests.

Как мы ведём разрботку

Перед началом

  1. Необходим docker + docker-compose для запуска бекенда.
  2. Надо установить pre-commit для валидации коммитов на локальной машине

Стратегия ветвления

  • master -> стабильная ветка
  • develop -> текущая dev ветка
  • release/X, где X=1,2,3,... -> ветка для стабилизации develop
  • [feat/fix/hotfix/config]_KEY.description -> ветка для задачи, относящаяся к типу фичи, фикса, хотфикса или изменений не связанных с кодом

Путь кода: ветка задачи -> develop -> release/X -> master. Коммиты в master только через PR из релизной ветки

Стиль

Используем стандартные соглашения Python + ограничения в pre-commit. Комментарии и сообщеия коммитов русские, по возможности.

Зависимости отдельные на каждый из подпроектов. Используём жёсткую фиксацию зависимостей.

Как запустить проект

Frontend

Интерфейс на русском языке

python3 -m frontend

Интерфейс на английском языке

LANG=eng python3 -m frontend

backend

docker-compose up

NB: для первого запуска надо запустить базовые миграции, в будущем их можно запускать аналогично docker-compose exec web python manage.py migrate. Потом необходимо добавить суперпользователя для получения доступа к админ панели docker-compose exec web python manage.py createsuperuser.

Админ панель доступна тут: http://127.0.0.1:8000/admin/

Новые миграции добавляются и актуализируются командой

docker-compose exec web python manage.py makemigrations backend

Для запуска тестов использовать

docker-compose run -e DJANGO_SETTINGS_MODULE=backend.settings web pytest --cov=backend
Description
No description provided
Readme Apache-2.0 378 KiB
Languages
Python 99.8%
Dockerfile 0.2%