Peter Stockings
78436b230b
feat: Refactor notes functionality into blueprint
...
- Moved notes-related routes (viewing/editing workout notes) from `app.py` into a new blueprint at `routes/notes.py`.
- Integrated notes-specific database logic (fetching and updating notes) directly into `routes/notes.py` helper functions, removing the corresponding methods from `db.py` for better encapsulation.
- Registered the new `notes_bp` blueprint in `app.py`.
- Removed the original notes route definitions from `app.py`.
- Updated `url_for` calls in `templates/partials/workout_note.html` to reference the new blueprint endpoints (e.g., `notes.get_person_notes`).
- Updated `templates/changelog/changelog.html` to document this refactoring in its own entry.
2025-03-31 22:08:47 +11:00
Peter Stockings
6095e76f10
Here is a conventional commit message summarizing the refactoring work:
...
```
feat: Refactor calendar feature into blueprint
- Moved calendar logic from `features/calendar.py` and `app.py` into a new blueprint at `routes/calendar.py`.
- Removed the `Calendar` class and refactored logic into helper functions within the blueprint module for better organization and readability.
- Eliminated the `pandas` dependency for date range generation, using standard `datetime` operations instead.
- Resolved circular import issues between `db.py`, `extensions.py`, and `routes/calendar.py` by adjusting import locations.
- Corrected `url_for` calls in templates (`calendar.html`, `partials/people_link.html`) to reference the new blueprint endpoint (`calendar.get_calendar`).
- Fixed an `AttributeError` related to HTMX request checking in the calendar route.
- Corrected `AttributeError` related to `.date()` calls on `datetime.date` objects in view processing functions.
- Updated `templates/changelog/changelog.html` to document the refactoring and associated fixes.
```
2025-03-30 22:20:48 +11:00
Peter Stockings
39e91f2655
Add support to set degree of line of best fit for exercise progress graphs in custom view
2025-02-06 23:43:10 +11:00
Peter Stockings
5be7438afc
Add in auth however there are no restrictions currently
2025-02-01 22:42:58 +11:00
Peter Stockings
f70438e4e4
Refactor dashboard
2025-01-27 14:46:20 +11:00
Peter Stockings
2a5afe51b4
Add All tag to dashboard as well
2025-01-27 02:00:37 +11:00
Peter Stockings
1e625ba7a8
When on overview page add a static tag that selects everything, will have to refactor tags functionality soon
2025-01-27 01:57:36 +11:00
Peter Stockings
0ed0c20e93
Add person graphs endpoint for workouts per week & PRs per week, consumed via dashboard, person overview and notes
2025-01-27 01:00:50 +11:00
Peter Stockings
049af675cc
Remove unused duplicated stats logic for dashboard
2025-01-27 00:18:02 +11:00
Peter Stockings
b0fb8895df
Start refactoring person overview (list) page, currently is accessible through tags and workout exercise select. Doesnt have any stats or graphs
2025-01-26 18:21:44 +11:00
Peter Stockings
76b610c949
Minor refactor in attempt to speed up site
2025-01-25 00:16:32 +11:00
Peter Stockings
5ffb08a994
Fix issue selecting a new exercise
2025-01-19 21:34:45 +11:00
Peter Stockings
c7013e0eac
Add ability to plot saved queries using plotly, need to check performance in production, also need to improve generate_plot function
2024-11-09 16:49:08 +11:00
Peter Stockings
0f55d42f22
* Add SQL query executor
...
* Move mermaid.min.js to static asset
* Create templates for sql logic
2024-11-06 23:25:25 +11:00
Peter Stockings
3a07b9d97f
WIP: Render database schema using Mermaid.js
...
Still need to:
* Move mermaid.js to static files
* Make template for mermaid wrapper
* Create new page for SQL viewer then add explorer
2024-11-06 22:48:51 +11:00
Peter Stockings
616b57e1db
Fix regression where selecting an exercise didnt populate reps/weight inputs with last set and resize progress graph on desktop
2024-11-05 15:04:06 +11:00
Peter Stockings
b5493e627c
Fix tags, may have increased load on database while only using one query to fetch workout, topsets, and all tags
2024-11-04 22:33:08 +11:00
Peter Stockings
e756607dc8
Add WIP of exercise live search, just testing speed in prod site
2024-11-03 09:45:48 +11:00
Peter Stockings
817a6016e2
Create seperate page view for workout (WIP)
2024-11-02 23:09:26 +11:00
Peter Stockings
1384eb007b
Add min/max filter filter for exercise sparkline graph
2024-07-29 21:27:30 +10:00
Peter Stockings
63d997a3f1
Refactor calendar (month and year view), switching to vertical slice arch. Also in progress of refactoring of stats so they are retreived after inital page load for performance sake
2024-04-11 13:45:38 +10:00
Peter Stockings
6dafdf71dd
Add options to filter epoch for exercise progress graphs (1M, 3M, 6M, All), however if there isnt data in a selected epoch the endpoint returns 404. Havent bothered to look into to it, probs should clean up code as well
2024-04-03 20:31:13 +11:00
Peter Stockings
dae4fcbf44
Add view to list workout notes for a person
2024-03-09 18:50:44 +11:00
Peter Stockings
e93c92a452
Add same graphs to person list view
2023-12-11 17:48:51 +11:00
Peter Stockings
fe01b2ade3
Statically render svg graphs on person view as well
2023-12-09 23:30:22 +11:00
Peter Stockings
d0afd92126
Render svg graphs in initial response rather then requesting each graph individually. Initial load file size of dashboard will be larger, unsure if I will rollback this change
2023-12-09 23:10:13 +11:00
Peter Stockings
c5e825f4df
Make svg graph more generic, and make line of best fit the last line rendered so its always on top
2023-12-09 22:25:37 +11:00
Peter Stockings
26f4a84d0b
Change order that plot lines are rendered so E1RM is always visible
2023-12-09 20:59:50 +11:00
Peter Stockings
fd6ca240ee
Refactor tag crud operations
2023-12-09 17:19:49 +11:00
Peter Stockings
c702a2ba3d
Refactor get workout call
2023-12-09 17:00:45 +11:00
Peter Stockings
1ff616f4e0
Refactor get topset database call
2023-12-09 16:35:10 +11:00
Peter Stockings
8bbbfecbf9
More CamelCase refactoring, exercise functionality refactored
2023-12-09 16:23:04 +11:00
Peter Stockings
d967920e03
Start to refactor away from using camel case (Not sure why I did this in the first place)
2023-12-09 16:14:10 +11:00
Peter Stockings
e3435df8b5
Switch to using custom svg sparkline for exercise graphs on person view, this isnt a proper implementation as it separate requests for each exercise selected (Want to get rid of dependency on plotly)
2023-12-09 14:42:33 +11:00
Peter Stockings
9d5d3b4507
Instead of adding interactive popup on mouse over of plot point, switch to mouse over of rectangle around the timestamp (reduces file size by another third 29.7kb => 17.9)
2023-12-09 14:03:09 +11:00
Peter Stockings
bc79224cee
Add ability to toggle plot lines by clicking on corresponding label in legend
2023-12-09 13:27:19 +11:00
Peter Stockings
cc44591eea
Plot E1RM, reps, & weight on user progress sparkline, also reduced generated svg size by half
2023-12-09 12:42:27 +11:00
Peter Stockings
dd093e3819
Add line of best fit (adding dependency on numpy)
2023-12-08 23:51:10 +11:00
Peter Stockings
2bdbda3a05
Refactor exercise progress
2023-12-07 21:58:13 +11:00
Peter Stockings
9c69005f7c
Add weight and reps to popover
2023-12-07 20:58:03 +11:00
Peter Stockings
3fca116d1c
On hover of exercise progress sparkline on new workout modal, show estimated 1rm and date of workout as a popover
2023-12-07 20:50:59 +11:00
Peter Stockings
469054048e
WIP: When selecting an exercise on new workout view, render a graph of exercise progress for the active user
2023-12-07 20:34:26 +11:00
Peter Stockings
0cb737e1b8
When you select an exercise for a new topset autofill the reps/weight feilds with the most recent topset values if possible (I beleive I have introduced a minor defect where adding a new set no longer clears reps/weight feild, but for some reason still clears exercise)
2023-08-20 23:42:00 +10:00
Peter Stockings
fdbb60b490
Add logic to handle adding/creating new tags for workouts
2023-08-06 22:15:36 +10:00
Peter Stockings
5ccb1f1905
Add database connection to global context so repeat queries dont recreate connections(Need to check if this actually improves speed) also added in logic so if add workout is triggered when there is already a workout on that day without any topsets it will instead load that
2023-08-06 13:34:33 +10:00
Peter Stockings
f0495be83a
Fix topsets not appearing in order of completion when viewing in modal
2023-07-29 23:07:19 +10:00
Peter Stockings
1970bc6417
If you create a tag with the same name as an existing tag it will update it rather then creating a new instance, still needs further work to improve UX
2023-07-13 22:04:03 +10:00
Peter Stockings
c457002d1e
Add editable notes to workouts
2023-07-12 19:35:55 +10:00
Peter Stockings
ca3eb48da6
WIP: Add option to toggle graphs (havent yet added axis filter)
2023-04-02 23:27:20 +10:00
Peter Stockings
3fd7a63d5e
Add tags to dashboard
2023-03-31 22:06:53 +11:00