VolkAround is a Telegram bot built with Python that provides interactive experiences, excursions, and media-rich content to users. Designed with scalability and modularity in mind, the bot is deployed on Heroku and uses Amazon S3 for efficient media storage.
- ๐บ๏ธ Excursion points with audio, images, and descriptions
- ๐งฉ Dynamic quests and interactive elements
- ๐ Location-based content support
- โ๏ธ Amazon S3 integration for storing photos and audio
- ๐๏ธ PostgreSQL database (via Heroku add-on)
- ๐ฆ Alembic for database migrations
- โ๏ธ Hosted and running on Heroku
VolkAround/
โโโ ๐๏ธ alembic/ โ Alembic migration scripts
โโโ ๐ผ๏ธ media/ โ Media assets (local, optional)
โโโ ๐งฌ migrations/ โ Manual or custom migration logic
๐ src/
โโโ ๐งฉ components/ # Core bot logic
โ โโโ ๐บ๏ธ excursion/ # Excursion models and behavior
โ โ โโโ ๐ excursion.py
โ โ โโโ ๐ stats_object.py
โ โ โโโ ๐ point/ # Point and extra content
โ โ โโโ ๐ information_part.py
โ โ โโโ ๐ point.py
โ โ โ โโโ ๐งพ field.py # Field logic for admin editing
โ โโโ โ๏ธ messages/ # Bot message sending
โ โ โโโ ๐ฎ admin_message_sender.py
โ โ โโโ ๐ค bot.py
โ โ โโโ ๐ฌ message_sender.py
โ โโโ ๐ค user/ # User state and interaction
โ โโโ ๐ ๏ธ user_editor.py
โ โโโ ๐ค user_state.py โ โโโ ๐ constants.py # Shared constants (e.g. field names, emoji)
โโโ ๐ฆ data/ # Data helpers
โ โโโ ๐ postgres_data_loader.py # PostgreSQL loader
โ โโโ โ๏ธ s3bucket.py # AWS S3 interface
โ โโโ ๐๏ธ database/ # DB schema and connection
โ โโโ ๐งฌ models.py # SQLAlchemy models
โ โโโ ๐ session.py # DB session setup
โ โโโ ๐ main.py # Entry point for running the bot
โโโ โ๏ธ settings.py # Environment/config (from .env)
โโโ ๐ Procfile โ Heroku process declaration (entry point)
โโโ README.md # ๐ Project overview
โโโ LICENSE.md # ๐ Custom license file
This project is proprietary. All rights reserved. Please contact the author for licensing inquiries.