Общий положняк
Тут будет указана некоторая инфа, которая пригодятся для более удобной работы с проектом
Родмап
| задача | статус | комментарий |
|---|---|---|
| обязательная подписка на канал | готово | написан фильтр, в который нужно передавать ссылку на канал |
| реферальная система | готово | рефка полностью работает, но еще необходимы тесты |
| админка | готово | написаны базовые действия для админа |
| дайс | готово | |
| трейды | готово | |
| куб в неделю | готово | |
| промокоды | в ауте (Герман) | проверить, что уже сделано |
| логирование | готово | сохраняются два уровня логов: info и error. Оба хранятся на сервере 10 дней + info еще выводится в терминал |
| инвентарь | в работе | добавить фильтры |
| шоп | готово | |
| сезоны | открыто | |
| кланы | открыто | |
| поиск в инвентаре | открыто | |
| лудка | открыто | |
| добавление ресов за карточку | готово | |
| проверка на бан | готово | написан фильтр, в который передается сессия |
| проверка на наличие карт у юзера | готово | написан фильтр, в который передается сессия |
| випам уменьшить время | открыто | |
| воровство | открыто | нужно продумать систему вороувания |
| фракции | в работе | фракция должна сохраняться не в клане а в align |
| придумать ништяки для фракций | открыто | |
| добавить действий в админку | открыто | нужно добавить еще действий по типу “забрать/дать админку или випку” |
| настроить ci/cd | в работе (Данил) |
|
| перенести бд | в работе (Данил) |
Работа с гитом
Во вкладке issues есть задачи. Как только задача будет выбрана необходимо от главной ветки (main) создать свою ветку и там делать пакости, связанные с задачей. Как только задача решена необходимо:
- во вкладке
pull requestоткрыть пул реквест - как только создаться
prнеобходимо справа указать кто создалpr(вкладкаAssignees) и снизу указать задачу, которую ты закрыл (вкладкаDevelopment) - проверяешь еще раз, что ты изменил в файлах и, если все работает как надо, снизу нажимаешь
Merge pull request, добавляешь краткий комментарий, что ты изменил и применяешь изменения. После можно удалить ветку
Чтобы показать, что ты уже работаешь над задачей можно создать ветку и в названии указать, что ты работаешь над задачей
Наименование веток при решении задач:

## Работа с бд Развернуть бд можно локально и в облаке
- при локальном деплое необходимо в начале повзрываться при установке программ и их настройке, но зато все действия с бд будут происходить максимально быстро
- при деплое в облаке нужно меньше всего телодвижений, но все действия с бд будут долгими
Локальный деплой Необходимо установить:
- pgAdmin4 (нужно установить 16-ую версию) - прога для взаимодействия с бд
- postgres app (нужно установить 15-ую версию) - прога для создания сервера локально
после установки переходим в postgres app и создаем сервер:

Очень важно указать порт отличный от 5432
Далее через pgAdmin4 подключаемся к бд и следуем инструкциям из ридми файла из основной ветки
Деплой в облаке
Для деплоя бд в облаке необходимо только перейти по ссылке и на сайте создать новый Postgresql-проект во вкладке Dashboard.
далее нужно:
- перейти в
Variables2. скопировать из спискаPGPASSWORD,PGUSER,POSTGRES_DBв env - в выпадающем списке чуть выше необходимо скопировать
RAILWAY_TCP_PROXY_DOMAINв хост иRAILWAY_TCP_PROXY_PORTв порт
фоточкс:

Описание проекта
Структура проекта

- Бот создан из нескольких
сущностей, все они хранятся вapp - в
coreхранятся файлы, от которых зависит работа приложения:- конфинг проекта, в нем указаны: токен бота, айди админов, конфиг бд
- базовый круд, от которого наследуются все остальные круды
- базовая модель, от которой наследуются все остальные модели
- папка с бэкапами и старой версией бд
- в
mediaхранятся картинки, которые отправляет бот:- карточки
- картинки из меню
- в
migrationsхранятся все версии миграций и файл конфиг для миграций алембика - в
othersхранится файл, в котором есть словарь с большим текстом .env-exampleсодержит переменные, которые должны быть в.envbmk1– старая версия ботаrun.py– файл, который запускает бота. В нем также происходит роутинг
каждая сущность, содержит в себе: круд, схемы, модели и роутеры также в зависимости от сущности могут быть еще фильтры, состояния.