No description
  • Python 96.4%
  • Dockerfile 2.2%
  • Shell 1.4%
Find a file
Linuxfight f9e0da0571
Some checks failed
Build and run / docker-compose (push) Has been cancelled
added demo video youtube link
2024-03-26 03:17:52 +03:00
.github/workflows Configure run timeout from control plane 2024-03-23 00:22:38 +01:00
app add places 2024-03-26 03:11:52 +03:00
.env add places 2024-03-26 03:11:52 +03:00
.gitignore remove migrations folder 2024-03-24 15:53:27 +03:00
docker-compose.yml add restart to compose, bot is just too fast (connecting to db) 2024-03-24 15:50:17 +03:00
Dockerfile added ncat check for postgres 2024-03-24 16:11:28 +03:00
entrypoint.sh added ncat check for postgres 2024-03-24 16:11:28 +03:00
migrations_applied added docker compatability 2024-03-24 15:13:38 +03:00
poetry.lock change project structure, update readme 2024-03-24 19:32:56 +03:00
pyproject.toml change project structure, update readme 2024-03-24 19:32:56 +03:00
README.md added demo video youtube link 2024-03-26 03:17:52 +03:00
task.md Update notion link 2024-03-16 10:00:28 +03:00

Бот для управления путешествиями

Бот: @linuxfight_prodtravel_bot Ссылка

Demo video

https://youtu.be/5YUEzRXNp4w

Разработка

Для локальной установки вам понадобится poetry. Активируйте среду (poetry shell) и установите библиотеки (poetry install). Отредактируйте .env файл.

Установите переменную среду POSTGRES_HOST. После этого можете запустить при помощи ./entrypoint.sh.

Деплой

Для деплоя скопируйте репозиторий, настройте .env и запустите:

docker compose build
docker compose up -d

P.S. Не забудьте в https://t.me/BotFather отключить группы (/mybots -> бот -> bot settings -> allow groups -> turn off)

Сценарии использования

Бот вам нужен, если:

  1. У вас очень много таких путешествий.
  2. Вам нужно оставлять важную инфу для путешествия так, чтобы много людей не задавали однотипных вопросов.

Схема бд (подробнее - app/models.py):

  1. users - пользователи
  2. notes - заметки
  3. travels - путешествия

Выбор стека

  1. Я решил использовать python. Почему? На него очень много библиотек, он довольно быстрый (мне не придётся тратить время на компиляцию), ну и мои задачи не cpu-bound.
  2. Postgres - решил использовать его, потому что одна из самых популярных баз данных.

Интеграции

  1. Openstreetmaps - простые опенсорсные карты
  2. Aiogram - работа с telegram