Директория | Описание |
---|---|
infra |
Файлы для запуска с помощью Docker, настройки Nginx |
src/backend |
Код Django приложения |
src/bot |
Код бота |
-
Python 3.12
Убедитесь, что у вас установлена нужная версия Python или активирована вpyenv
. -
Poetry
Зависимости и пакеты управляются через poetry. Убедитесь, что poetry установлен на вашем компьютере и ознакомьтесь с документацией.
Установка зависимостейpoetry install
Также будет создано виртуальное окружение, если привычнее видеть его в директории проекта, то используйте настройку
virtualenvs.in-project
-
Docker
-
Токен Telegram бота
Документация
Перед запуском нужно получить token у бота @BotFather. После того как бот будет зарегистрирован - вам выдадут token, его нужно добавить в файл.env
, строкуTOKEN=
. В документеenv.example
она обозначена комментарием.
Про более подробное создание бота читать в приложенной документации. -
Файлы requirements
Файлы редактировать вручную не нужно. Обновляются через pre-commit хуки (если есть изменение в зависимостях, то список обновится при коммите). -
pre-commit
Документация
Обязательно выполните команду:pre-commit install
При каждом коммите будут выполняться хуки (автоматизации) перечисленные в
.pre-commit-config.yaml
. Если не понятно какая ошибка мешает сделать коммит можно запустить хуки вручную и посмотреть ошибки:pre-commit run --all-files
Придерживаемся black style
-
Создавая новую ветку, наследуйтесь от ветки develop, подхватывайте перед этим последние изменения
-
Правила именования веток
- весь новый функционал — feature/название-функционала
- исправление ошибок — fix/название-багфикса
Пример:
feature/burger-menu fix/bun-issue
-
1 ветка - 1 задача
-
Создаём
.env
файл в корневой директории проекта и заполняем его по образцу.env.example
-
Переходим в директорию
infra/
cd infra/
-
Поднимаем контейнеры
docker compose --env-file ../.env -f docker-compose.local.yml up -d
-
При первом запуске можно создать записи в БД о городах командой
docker exec backend python manage.py import_locations
Используйте команду ниже и следуйте инструкциям в терминале
docker exec -it backend python manage.py createsuperuser
-
Устанавливаем зависимости
-
Создаём
.env
файл в корневой директории проекта и заполняем его по образцу.env.example
-
Переходим в директорию
src/backend/
cd src/backend/
-
Применяем миграции
python manage.py migrate
-
Загружаем фикстуры (локации)
python manage.py import_locations
-
Запускаем development-сервер Django
python manage.py runserver
Note
Есть возможность изменить используемый файл настроек, определив переменнуюDJANGO_SETTINGS_MODULE
, например,export DJANGO_SETTINGS_MODULE=coliving_bot.settings.stage
Запускаем бота
Перед выполнением команд откройте новый терминал
(не забываем добавить token бота в файл .env
, строку TOKEN=
)
cd src/bot/
python run_bot.py