GymNote is a Telegram bot designed to help users track their workout progress easily. With simple commands and an intuitive interface, users can log exercises, track progress over time, and stay consistent with their fitness goals.
- Workout Logging: Easily record your exercises with sets, reps, and weights.
- Progress Tracking: View statistics on past workouts.
- Exercise History: Retrieve past logs to analyze your improvements.
- User-Friendly Commands: Simple and efficient command structure.
- Language: Go (Golang)
- Database: Clickhouse
- Cache: Redis
- Messaging API: Telegram Bot API
- Hosting: Deployed on VPS
Ensure you have the following installed on your system:
- Go (1.23.5)
- Docker & Docker Compose
- Make
- Environment Configuration
cp .env.example .env
- Start Services with Docker Compose
make docker-up
- Run migrations
make migrate-up
- Run the Bot
make run
- /start - Start the bot
- /help - Show help
- /start_training - Start a new training session
- /upload_training - Upload a new training session
- /get_trainings - View training history
- /get_exercise_progression - View weight progression for an exercise
- /create_exercise - Create a new exercise
- /clear_training - Reset the current training session
Kick off your training session by choosing a muscle group. Whether it's chest, back, legs, or arms, GymNote guides you every step of the way.
Browse through a curated list of exercises tailored to your selected muscle group. From bench presses to squats, find the right move for your workout.
Enter your weight and reps for each set. GymNote also shows your exercise history, so you can easily pick the right weight and push your limits.
At the end of your session, get a detailed summary of your workout. See how many exercises you completed, the total volume lifted, and more.
Monitor your progress over time with detailed charts. GymNote helps you stay motivated by showing how far you've come in each exercise.
Access your complete training history. Review past workouts, analyze your performance, and plan your next session with confidence.
The bot is deployed on a VPS using Docker and managed via systemd for uptime reliability.
Feel free to open issues, submit pull requests, and improve GymNote together! If you like the project, give it a ⭐ on GitHub!
Stay fit and keep logging your progress! 💪🔥