| Директория | Описание |
|---|---|
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