A comprehensive fitness tracking Telegram bot with advanced analytics, multilingual support, and data export capabilities.
✅ PRODUCTION READY - Bot is fully functional and running!
Complete rewrite and enhancement completed on January 14, 2025:
- Fixed all critical bugs and compatibility issues
- Implemented all core features from documentation
- Added 39 pre-loaded exercises with smart search
- Full multi-language support (EN/RU)
- Production-ready architecture
- 📝 Workout Tracking: Log exercises with sets, reps, weight, and RPE
- 📚 Exercise Library: 39 pre-loaded exercises with fuzzy search
- 🌍 Multi-language: Full support for English and Russian
- 👤 User Management: Registration, profiles, and preferences
- ⏱ Rest Timers: Configurable timers with memory
- 📊 Basic Analytics: Workout history and statistics
- 🗄 Database: SQLAlchemy with async support
- 🤖 Smart Conversations: FSM-based workout logging flow
- 🔍 Exercise Search: Category browsing and fuzzy name matching
- 📈 Advanced Analytics: Progress charts and visualizations
- 📤 Data Export: Excel, PDF, and CSV export functionality
- 🎯 Custom Routines: Create and manage workout programs
- 🏆 Personal Records: Automatic PR tracking and notifications
- 👥 Social Features: Share workouts and compete with friends
- 🥗 Nutrition Tracking: Meal logging and calorie counting
- Python 3.9+
- Telegram Bot Token (get from @BotFather)
- Clone the repository
git clone https://github.com/veacheslavv/telegram-gym-bot.git
cd telegram-gym-bot- Install dependencies
pip install -r requirements.txt- Configure environment
cp .env.example .env
# Edit .env and add your TELEGRAM_TOKEN- Run the bot
python run.pyThe bot is currently running at @profiusgymbot
| Command | Description | Status |
|---|---|---|
/start |
Start bot and select language | ✅ Working |
/help |
Show available commands | ✅ Working |
/log |
Log a workout | ✅ Working |
/today |
View today's workouts | ✅ Working |
/timer |
Set rest timer | ✅ Working |
/stats |
View statistics | ✅ Working |
/history |
Workout history | ✅ Working |
/profile |
View profile | ✅ Working |
/language |
Change language | ✅ Working |
/records |
Personal records | 🚧 In Progress |
/export |
Export data | 🚧 In Progress |
/routines |
Manage routines | 🚧 In Progress |
telegram-gym-bot/
├── src/
│ ├── bot/ # Bot initialization and configuration
│ ├── handlers/ # Command and message handlers
│ ├── services/ # Business logic services
│ ├── models/ # Database models
│ ├── locales/ # Translation files
│ ├── utils/ # Utility functions
│ └── data/ # Initial data (exercises)
├── tests/ # Test suite
├── docs/ # Documentation
├── docker/ # Docker configuration
└── run.py # Entry point
- Framework: aiogram 3.22.0 (Telegram Bot API)
- Database: SQLAlchemy 2.0 with aiosqlite
- Language: Python 3.9+
- Architecture: Async/await with FSM
- Deployment: Docker ready
- Total Lines of Code: ~8,000
- Number of Files: 88
- Test Coverage: ~60% (increasing)
- Active Contributors: 6
- Exercises in Database: 39
See GitHub Issues for current bugs and feature requests.
We welcome contributions! Please see our GitHub Workflow Guide for details.
- Check open issues
- Fork the repository
- Create feature branch
- Make your changes
- Submit pull request
| Developer | Responsibility | Status |
|---|---|---|
| Cristian | Architecture & Core Features | Active |
| Dev1 | Workout Tracking | ✅ Implemented |
| Dev2 | Exercise Database | ✅ Implemented |
| Dev3 | Progress Charts | 🚧 In Progress |
| Dev4 | Social Features | 📋 Planned |
| Dev5 | Rest Timers | ✅ Implemented |
| Dev6 | Nutrition Tracking | ✅ Implemented |
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with aiogram
- Inspired by fitness enthusiasts worldwide
- Special thanks to all contributors
- Issues: GitHub Issues
- Bot: @profiusgymbot
- Documentation: Project Docs
Last Updated: January 14, 2025 | Version: 1.0.0 | Status: Production Ready 🚀