ToDo список на Python
Структура проекта
- backend. Бекенд приложения на Django + Postgres. Для запуска необходим docker-compose.
- frontend. Фронт приложения на Python + tkinter.
- docs. Документация по проекту и ресурсы для неё
Тесты проектов лежат в подпапках tests.
Как мы ведём разрботку
Перед началом
- Необходим docker + docker-compose для запуска бекенда.
- Надо установить 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