Finish training diary application
DrYuri Code and Eng DK30 Spring 2019 0 0
Description
Finish triathlon training diary app, where i track my “vital health signs” (weight, resting heart rate, sleep), workouts and nutrition. Collected data will enable me to adjust my training to improve performance in races while staying healthy. I have already implemented all the necessary API and saving daily diary entries in the app. I just need to add a few forms for saving workouts and daily meals and package everything into something usable.
Recent Updates
I can not believe a whole month has passed since the start of this project! I successfully completed all my goals i had for this project. I am really happy with the result. I actually managed to do most of the work in the first 3 weeks. Since i finished week 2 so quickly i also added pagination and some UI improvements. The app still has a lot of room for expansion but the main problem has been solved and i can use it every day to track my workouts and nutrition. Until next time!
Last feature update! I just had to implement edit option on meals and workouts. This is now the final diary entry screen. It just opens the same popup as when adding new entry.
Week 3 is almost over. I managed to implement pagination on diary entries both on server and client side. I am displaying 7 days per page but plan to rework pagination a bit to show actual weeks (Mon - Sun). All the charts now show only current page data. This will be solved by adding new statistics api on server to fetch already calculated data. I also added delete functions on diary entry meals and workouts and polished the app all around. Very happy with the results.
Pagination
Charts
Delete feature and UI changes
Midweek update! Things are progressing quite a bit faster than i expected. I added data visualization in an hour or two so i can now do some more polishing in week 3 already. I separated main dashboard into 2 screens so there is no need to scroll to far down to see everything. I also replaced text with icons (font awesome) for a better visual experience. I used highcharts library for all the charts. I’m really pleased how this is all coming together. I actually use the app now which i think is a win on its own. I think i will extend the feature list a little bit. I want to support pagination on server and then update my api services on client side. I also need to create separate api for statistics because right now everything is calculated on the client.
Dashboard data view
Statistics view
Week 2 is coming to an end. I managed to complete the main tasks for this week:
- add all workouts to database (manually via sql scipt, nothing fancy here)
- add new form for adding workouts on diary entries
- display workouts on diary entries
I still need to support edit and delete on all entities (diary entries, meals and workouts) but i can live without them for now.
A few screenshots for new features:
You can select predefined workout i inserted into database.
Fill out a form with all details (integration with trainingpeaks, strava or garmin connect is planned for some other time since their APIs are not available to anyone you need to apply. Since i am only doing this for myself i am not sure i will be granted access).
And they are shown in the similar way to meals.
That is all for this week :)
Week 1 is almost done. A few things were done and a few still need to be finished. I only worked on dk30 for about 3 hours but i still managed to implement form for saving daily meals and i also updated diary entry page to actually give you info about that day. For anyone interested about the stack i am using to build this app:
- Mysql
- Hibernate
- Java Spring Boot 2
- Maven
- Angular (7)
Week started like this
And ended much better
Estimated Timeframe
Apr 3rd - May 3rd
Week 1 Goal
- Dedicate 5 hours to the project
- Add forms to add and edit meals on diary entries
- Add option to delete meal from diary entry
- Style diary entry view page
Week 2 Goal
- Dedicate 5 hours to the project
- Add all workout types for swimming, cycling and running directly to database
- Add forms to add workouts to diary entry and add details about that specific day
- Add option to delete workout from diary entry
- Display workouts on diary entry view page
Week 3 Goal
- Dedicate 5 hours to the project
- Visualize data (weight and resting heart rate over time)
UPDATE: I had a bit more time after integrating charts so i also want to add:
- pagination of diary entries
- UI&UX enhancements
Week 4 Goal
- Dedicate 5 hours to the project
- Fix any remaining bugs
- Catch up on missed work