Peter Stockings
0c0bcdc4b6
Show consecutive stall count beside previous performance
2026-10-11 11:30:30 +11:00
Peter Stockings
9612d322eb
Preserve observed progression steps in exercise forecasts
2026-09-06 22:46:07 +10:00
Peter Stockings
dc0f41cd27
Integrate session note and tag editing and center progress controls
2026-09-06 22:38:11 +10:00
Peter Stockings
d5e3e1d930
Reorganize workout view for desktop and compact session details
2026-09-06 17:10:06 +10:00
Peter Stockings
1aa5d7418b
Only include custom date inputs when rendered
2026-09-06 16:45:37 +10:00
Peter Stockings
86fade54f1
Learn session forecasts from training blocks and clarify progress UI
2026-09-06 16:20:15 +10:00
Peter Stockings
499d859478
Anchor forecast top sets to latest rep target
2026-09-06 14:59:57 +10:00
Peter Stockings
50ddbced84
Show forecast point dates clearly
2026-09-06 14:55:09 +10:00
Peter Stockings
0dea94fec0
Simplify forecast panel and extend horizon
2026-09-06 14:50:51 +10:00
Peter Stockings
d26da9a066
Move forecast map into exercise history
2026-09-06 14:38:30 +10:00
Peter Stockings
7af0202c30
Improve forecast readability and rep targets
2026-09-06 14:30:23 +10:00
Peter Stockings
499ecdc3c2
Add projected top set estimates
2026-09-06 14:12:48 +10:00
Peter Stockings
cada28b54b
Fix forecast chart continuity and hover
2026-09-06 13:59:50 +10:00
Peter Stockings
e2c4196792
Add exercise progress forecasting
2026-09-06 13:53:23 +10:00
Peter Stockings
d1100ece80
Add SQL insight dashboard widgets
2026-09-06 13:37:46 +10:00
Peter Stockings
ff6a921550
Improve styling of exercise history/sparkline partials
2026-02-28 16:33:43 +11:00
Peter Stockings
57f7610963
Remove requirements.txt
2026-02-27 12:39:13 +11:00
Peter Stockings
a401c1a1ab
Switch to UV
2026-02-27 12:36:40 +11:00
Peter Stockings
b0b42c0d77
Migrate from psycopg2 to psycopg3 to fix SIGSEGV crashes
2026-02-27 12:06:38 +11:00
Peter Stockings
89d0a7fb12
Switch to gevent workers to prevent SIGSEGV
2026-02-27 11:57:41 +11:00
Peter Stockings
37e56559a9
Fix python version formatting
2026-02-27 11:49:11 +11:00
Peter Stockings
d9def5c6b6
Add .python-version set to 3.14.0
2026-02-27 11:47:17 +11:00
Peter Stockings
ccb71c37a4
Update remaining Flask extensions to versions compatible with Flask 3
2026-02-27 11:46:02 +11:00
Peter Stockings
7aebf8284d
Update flask-htmx to fix Flask 3 dependency conflict and remove deprecated runtime.txt
2026-02-27 11:43:03 +11:00
Peter Stockings
28b542e618
Bump up to new python buildpack
2026-02-27 11:28:04 +11:00
Peter Stockings
fb07c1d8ed
Bump up python version and packages
2026-02-27 11:26:09 +11:00
Peter Stockings
1c51bb6ced
Remove dark TW classes from exercise history table
2026-02-27 10:29:54 +11:00
Peter Stockings
c4feaa97dd
Add remember me cookie so users dont have to login each workout
2026-02-26 23:59:34 +11:00
Peter Stockings
73e02a7b12
Show exercise weekly/monthly progress on exercise history table
2026-02-26 23:53:47 +11:00
Peter Stockings
b31ab97cd4
Allow users to toggle to progress table view when selecting an exercise
2026-02-26 23:48:08 +11:00
Peter Stockings
895b813a35
Add button to topsets to show history as a table
2026-02-26 23:26:49 +11:00
Peter Stockings
67009c9603
Add search for activity logs
2026-02-13 00:28:12 +11:00
Peter Stockings
8c08140ad0
Move settings endpoints to separate blueprint
2026-02-08 18:48:03 +11:00
Peter Stockings
31078b181a
Split up settings sub pages into templates loaded by htmx to reduce initial load
2026-02-08 18:25:43 +11:00
Peter Stockings
a6eca1b4ac
Add ability to add/update/delete exercise categories
2026-02-08 16:48:47 +11:00
Peter Stockings
ce28f7f749
Add exercise category search in settings
2026-02-08 16:31:05 +11:00
Peter Stockings
31f738cfb3
Improve look of exercise list in settings page
2026-02-08 16:23:31 +11:00
Peter Stockings
0cd74f7207
Create blueprint for exercises
2026-02-08 16:08:30 +11:00
Peter Stockings
ef91dc1fe4
Changel LLM model gemini-2.0-flash -> gemini-2.5-flash-lite
2026-02-08 14:51:11 +11:00
Peter Stockings
a9f3dd4a38
Embed achievement badges in exercise progress graphs
2026-02-06 00:20:12 +11:00
Peter Stockings
3f3725d277
Improve look of SQL explorer page, and improve validation of exercise selection in workouts
2026-02-04 12:37:05 +11:00
Peter Stockings
09d90b5a1e
Round person graph models to one decimal place to reduce svg size
2026-02-04 09:54:03 +11:00
Peter Stockings
3fabde145d
Preload csss & js, add skeleton graphs for loading
2026-02-04 09:53:35 +11:00
Peter Stockings
71a5ae590e
Add brotli complression, cache graph requests for 5mins and add pagination for person overview
2026-02-04 09:28:18 +11:00
Peter Stockings
b4121eada7
Add database connection pooling
2026-02-04 00:03:03 +11:00
Peter Stockings
a6a71f3139
Only load graphs when they come into view
2026-02-03 23:52:59 +11:00
Peter Stockings
9998616946
Add defer to hyperscript
2026-02-03 23:52:21 +11:00
Peter Stockings
c20f2e2f85
Added safety checks to the graph regression logic in utils.py. This stops those "illegal value" server warnings and makes the math more efficient for small datasets
2026-02-03 23:51:52 +11:00
Peter Stockings
ec8d7f6825
Add asset caching
2026-02-03 23:36:58 +11:00
Peter Stockings
2e79ad1b8b
Remove more unused js and css
2026-02-03 23:36:30 +11:00
Peter Stockings
d223bdeebc
Add compression
2026-02-03 23:25:13 +11:00
Peter Stockings
9a2ce6754a
Remove unused js libs
2026-02-03 23:24:49 +11:00
Peter Stockings
afc5749c82
Reduce size of logo
2026-02-03 23:08:45 +11:00
Peter Stockings
2d1509a0cd
Remove dependencies on external fonts
2026-02-03 23:03:29 +11:00
Peter Stockings
83c3cd83a6
Remove SweetAlert 2 library
2026-02-03 22:55:12 +11:00
Peter Stockings
db8d39d1eb
Fix issue where adding a set would result in two 'Topset added' notification
2026-02-03 22:51:19 +11:00
Peter Stockings
437271bc8c
Fix for mobile monthly calendar view so clicking redirects to workout view
2026-02-03 15:21:36 +11:00
Peter Stockings
ac093ec2e0
Update programs functionality
2026-02-03 15:10:59 +11:00
Peter Stockings
b26ae1e319
Adjust monthly calendar view sets font size
2026-02-02 22:47:25 +11:00
Peter Stockings
f53bf3d106
Improve monthly calendar view
2026-02-02 21:51:32 +11:00
Peter Stockings
2b330e4743
Add acheivement badges to monthly calendar view
2026-02-02 20:54:28 +11:00
Peter Stockings
bc2a350e90
Show monthly stats in calendar view
2026-02-01 10:55:28 +11:00
Peter Stockings
a59cef5c95
Add missing entries to changelog
2026-01-31 15:06:23 +11:00
Peter Stockings
d7c9f71d22
Add activity logs table
2026-01-31 14:53:01 +11:00
Peter Stockings
62080b97a4
Ensure only admins can delete users/exercises and users can only edit there own name
2026-01-31 14:19:16 +11:00
Peter Stockings
32719cc141
Add is_admin property to person table
2026-01-31 14:08:47 +11:00
Peter Stockings
32b7527576
Change settings page use tabs
2026-01-31 13:58:22 +11:00
Peter Stockings
9e20976591
Add 'Machine vs Free Weight' & 'Compound vs Isolation' breakdowns for workouts
2026-01-31 13:11:21 +11:00
Peter Stockings
8b276804b9
Add popover for details on muscle distribution in a workout
2026-01-31 00:19:02 +11:00
Peter Stockings
5d2f3986bd
Switch muscle distribution to a line chart
2026-01-31 00:11:06 +11:00
Peter Stockings
d03581bff4
feat: assign tags to exercises and show muscle distribution of workout
2026-01-30 23:53:04 +11:00
Peter Stockings
78f4a53c49
Fix error when attempting to update set due to missing exercise id param in template
2026-01-30 22:54:50 +11:00
Peter Stockings
e156dd30cc
Add badges to sets showing stats ie weight/rep increase or how many weeks stalled
2026-01-30 22:42:06 +11:00
Peter Stockings
eada1a829b
Log LLM usage
2026-01-30 19:45:31 +11:00
Peter Stockings
1c500328d1
Fix AI SQL query generation
2026-01-30 19:37:40 +11:00
Peter Stockings
14d29724f1
Log SQL executions made via UI
2026-01-30 19:17:25 +11:00
Peter Stockings
4dcf589b63
Log login attempts
2026-01-30 19:07:09 +11:00
Peter Stockings
b6443bc1e2
Make background of ERD transparent
2026-01-30 18:47:26 +11:00
Peter Stockings
ec12072a33
Improve layout of ERD
2026-01-29 19:30:11 +11:00
Peter Stockings
d72bb1f30f
Make SQL queries require auth
2026-01-29 19:17:35 +11:00
Peter Stockings
722ff4d8e5
Show navbar title even on mobile
2026-01-29 19:01:11 +11:00
Peter Stockings
cb08992e19
Make navbar more responsive on mobile
2026-01-29 18:56:41 +11:00
Peter Stockings
036d852aab
Add authentication for update/delete endpoints
2026-01-29 18:41:24 +11:00
Peter Stockings
e7520035c7
Add script to update password for a user
2026-01-29 18:40:49 +11:00
Peter Stockings
144e555abb
Update logo
2026-01-29 17:17:42 +11:00
Peter Stockings
26dda12fff
Make login/signup links responsive on mobile
2026-01-29 15:54:09 +11:00
Peter Stockings
2dc2b62d7b
Improve performance of calendar view
2026-01-29 15:21:58 +11:00
Peter Stockings
c14b43f9ab
Revert back to using npx in build step due to dokku build pack using node (Should update this)
2026-01-29 13:26:10 +11:00
Peter Stockings
6fb9ba126f
Generate ERD diagram from schema at build time rather then dynamically to reduce dependency on mermaid js library in the frontend
2026-01-29 13:20:45 +11:00
Peter Stockings
509d11443d
Remove dependency on tail select component and instead role my own to minmise bundle size
2026-01-29 12:49:12 +11:00
Peter Stockings
04fe00412a
Add tailwind build step
2026-01-29 09:30:51 +11:00
Peter Stockings
71315eb719
Speed up people_graphs
2026-01-29 00:41:08 +11:00
Peter Stockings
436eb16c32
Remove plotly in attempt to fix build error
2026-01-29 00:23:20 +11:00
Peter Stockings
a94271c790
Remove license from readme
2026-01-29 00:10:55 +11:00
Peter Stockings
c607f672c9
Update readme
2026-01-29 00:08:40 +11:00
Peter Stockings
3a0d4531b6
Switch to using polars
2026-01-29 00:05:25 +11:00
Peter Stockings
dd82f461be
feat: Add workout program management
...
- Create database tables: workout_program, program_session, person_program_assignment.
- Add Flask blueprint `routes/programs.py` with routes for creating, listing, viewing, and deleting programs.
- Implement program creation form (`templates/program_create.html`):
- Allows defining program name, description, and multiple sessions.
- Each session includes a name and dynamically added exercise selections.
- Uses `tail.select` for searchable exercise dropdowns.
- JavaScript handles dynamic addition/removal of sessions and exercises.
- Implement backend logic for program creation:
- Parses form data including multiple exercises per session.
- Automatically finds or creates non-person-specific tags based on selected exercises for each session.
- Saves program and session data, linking sessions to appropriate tags.
- Implement program list view (`templates/program_list.html`):
- Displays existing programs.
- Includes HTMX-enabled delete button for each program.
- Links program names to the view page using HTMX for dynamic loading.
- Implement program detail view (`templates/program_view.html`):
- Displays program name, description, and sessions.
- Parses session tag filters to retrieve and display associated exercises.
- Update changelog with details of the new feature.
2025-04-24 20:17:30 +10:00
Peter Stockings
e7d125d57b
Move workout tag logic into tags blueprint
2025-04-21 20:13:30 +10:00
Peter Stockings
c88d28b47c
Fix issue with newly added workout tags not being rendered
2025-04-20 17:05:32 +10:00
Peter Stockings
7aa7f9b8dc
Partial refactor of tags functionality
...
Still need to move tags db logic to BP and move workout tag logic to BP as well
2025-04-19 21:10:34 +10:00