Week #2 #
Detailed Requirements Elaboration #
Mobile App
- UseCases: Start a workout. Dynamically change it during session. Save it locally in database.
- AI: See review of the workout. (Might be additions)
- UI: Pages and widgets related to workout session. Graphs for tracking progress (exercise analytics, workout calendar)
- Datasources: Prepopulated exercise information. Sql-based Database for local memory.
- Design: Following clean architectures principles
- Backend: For Synchronisation and AI endpoints usage.
Admin panel:
- UseCases: Admins see analytics in the app
- What Exactly?: Last Seen in Application; How often is usage; What is user doing in app (and more).
- UI: Graphs, tables, logs
- Backend: Endpoints for collecting data.
- DataSource: Database for tracking UID of User with related data to it.
Prioritized backlog #
https://nodoser.atlassian.net/jira/software/projects/SCRUM/boards/1/backlog (Some tasks are omitted, for detailed contribution check weekly commits)
Project specific progress #
Mobile App #
- Workout-related data (pictures; json) was created.
- Model for exercise-information was designed.
- Basic CI/CD (linting) was built and tested.
Main Backend (for mobile app) #
- Based architecture was created (see more in personal contribution)
Frontend (Admin Panel) #
- UI based on static data was created (see more in personal contribution).
Backend (Admin Panel) #
- Based architecture was created (see more in personal contribution)
Weekly commitments #
Individual contribution of each participant #
Ivan Chabanov:
Build basic CI/CD pipeline (linting)
Implement model for exercise and generate a json of 30 exercises.
Find a model for picture gen (SORA). Generate most of gym exercise pictures.
https://github.com/IU-Capstone-Project-2025/gym-genius/pull/7 https://github.com/IU-Capstone-Project-2025/gym-genius/pull/8 https://github.com/IU-Capstone-Project-2025/gym-genius/pull/9 https://github.com/IU-Capstone-Project-2025/gym-genius/pull/10
Vlad Kuznetsov:
- Ρ Π½ΡΠ»Ρ ΠΈΠ·ΡΡΠΈΠ» Π³ΠΎΠ»Π°Π½Π³; ΡΠΎΡΡΠ΅Ρ chi, ΠΎΡΠΌ gorm
- ΠΎΠΏΠΈΡΠ°Π» Π±Π°Π·ΠΎΠ²ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
https://github.com/IU-Capstone-Project-2025/gym-genius/pull/5
Egor Dushin:
ΠΈΠ·ΡΡΠ°Π» Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Nuxt 3
Π²ΡΠ±ΠΈΡΠ°Π» Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ - Π²ΡΠ±ΡΠ°Π» atomic design Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈΠ·-Π·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π±ΡΡΡΡΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΠΎΠΌ Π΄Π΅ΡΠ΅Π²Π΅
ΠΡΠ±ΠΈΡΠ°Π» ui kit, ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ Π½Π° Nuxt UI ΠΈΠ·-Π·Π° Π΅Π³ΠΎ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΠΎΡΡΠΈ
ΠΡΠ±ΠΈΡΠ°Π» ΡΡΠ΅ΠΊ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠ², Π²Π·ΡΠ» ChartJS, ΠΊΠ°ΠΊ ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π»ΠΈΠ±Ρ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠ²
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» Π³ΡΠ°ΡΠΈΠΊ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ , Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ
https://github.com/IU-Capstone-Project-2025/gym-genius/pull/6
Kirill Nosov
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π±Π΅ΠΊΠ΅Π½Π΄Π° Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Π΄Π»Ρ api (fiber)
- ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π±Π΄ (ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ gorm)
- ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
- ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π΄Π»Ρ ΡΡΠΎΠ½ΡΠ° (Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅)
https://github.com/IU-Capstone-Project-2025/gym-genius/pull/11
Aleksandr Mihailov
- Research Go docs
- Research Fiber, Gorm libraries for backend
- Decided whether to use cloud-based AI models or lightweight local ones.
- Researched a cloud-based AI models services and pick model for application
- Thought of where to use AI solutions in Mobile App
https://github.com/IU-Capstone-Project-2025/gym-genius/pull/12
Plan for Next Week #
Continue working on our features. Some of the tasks can be seen in backlog already: https://nodoser.atlassian.net/jira/software/projects/SCRUM/boards/1/backlog
Confirmation of the codeβs operability #
We confirm that the code in the main branch:
- [+] In working condition.
- [+] Run via docker-compose (or another alternative described in the
README.md
).