https://github.com/fctl3314/exercisemanager-bot
Telegram bot for managing workout routines, tracking exercise progress, and sending reminders. Supports creating custom workout plans, adding exercises with durations and breaks, and tracking completion of sport activities.
https://github.com/fctl3314/exercisemanager-bot
aiogram bot onion-architecture python solid telegram-bot
Last synced: over 1 year ago
JSON representation
Telegram bot for managing workout routines, tracking exercise progress, and sending reminders. Supports creating custom workout plans, adding exercises with durations and breaks, and tracking completion of sport activities.
- Host: GitHub
- URL: https://github.com/fctl3314/exercisemanager-bot
- Owner: FCTL3314
- License: apache-2.0
- Created: 2024-09-08T09:42:09.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-06T18:04:14.000Z (over 1 year ago)
- Last Synced: 2025-01-22T09:31:53.563Z (over 1 year ago)
- Topics: aiogram, bot, onion-architecture, python, solid, telegram-bot
- Language: Python
- Homepage: https://t.me/exercise_manager_bot
- Size: 224 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Exercise Manager - Bot
Telegram bot for managing workout routines, tracking exercise progress, and sending reminders. Supports creating custom workout plans, adding exercises with durations and breaks, and tracking completion of sport activities.
[](https://www.python.org/)
[](https://aiogram.dev/)
[](https://fastapi.tiangolo.com/)
[](https://docs.pydantic.dev)
[](https://docs.aiohttp.org)
[](https://black.readthedocs.io/en/stable/)
# 📃 Notes
* To ensure your application has access to the API endpoints, you need to run the backend server locally using this repository: [ExerciseManager-Backend](https://github.com/FCTL3314/ExerciseManager-Backend). Follow the setup and run instructions provided in the repository.
* All Docker volumes are stored in the `docker/local/volumes/` directory. If you need to reset your database or any other data, simply delete the corresponding folder.
# ⚒️ Development
1. Download dependencies: `pip install -r requirements.txt`
2. Create an `.env` file or rename `.env.dist` to `.env` and fill it with development environment variables.
* For the `WEBHOOK_HOST` variable, you can use a ngrok HTTP tunnel by running: `ngrok http 8000`
* For the `API_BASE_URL` variable, use the base URL of your locally installed server, for example: `http://127.0.0.1:8080/api/v1/`
3. Start Docker services: `make up_local_services`
4. Compile localization files: `make compile_locales`
* If the locales directory has changed, you can specify it explicitly: `make compile_locales LOCALES_DIR=new/location/`
5. Run the application: `python main.py`