Coder Social home page Coder Social logo

kami-nashi / skatetrax Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 9.4 MB

Python/Flask Implementation Of My KN-FSM

License: GNU General Public License v3.0

Python 37.83% HTML 28.93% CSS 9.12% JavaScript 24.12%
skating figure-skating ice-skating sports fitness flask python usfsa isl winter-sports

skatetrax's People

Contributors

kami-nashi avatar

Stargazers

 avatar

Watchers

 avatar

skatetrax's Issues

Math isnt working

The total hours is wrong.
Coach to practice ratio pie is wrong.
Budgeting is wrong.

Its all wrong.

Update w/o Refresh

Update various sections (charts, tables, etc) with the ability to refresh data on click or onload with out refreshing the whole page.

Create RPM

Needs a RPM to setup the nginx crap.
Dirs
venv
flask
gunicorn
pymysql
and such.

Port: Punch Card for IceTime

Needs a bit of review and probably re-engineering. old code did not account for multiple rinks yet, now it should.

Also, needs to be able to handle punch voids and credits (because its happened and messed this up)

Incorporate user login with the before_request var's

the before_request fixes issues where values were not being updated in the pages.

login/session data is not populating the before_request var's.

Not sure how to fix this yet. Needs research, brainstorming, or higher level help.

Add Goals: Acquisition of Skills

Here is the concept. The "Acquisition of Skills" guidelines are just that - guidelines. Lets enable users to create a goal based on this document.

Example:
Total Hours Discipline Years Expected Hours
750 Free Skating 1-4 3 250-500
500 Beginner 5-8 2 250-350
250 Beginner 1-4 1 250-350
AcquisitionOfSkills.pdf

Convert Pie Chart: Maintenance

This will require some var's being dropped into position, instead of feeding json to chartJS.... until we figure out how to do that.

Create Documentation

This stuff isn't going to explain itself, we need some general workflow guidance and a map of where things are.

Maintenance per SkateConfig

Maintenance issue in 'issue 31' is a side effect of buying new skates. Time on old skates did not reset for new skates, because none of that is set up.

Needs:
Ice_time = valid skate_config_ID & value
Skater's personal config = active skate_config & value
Modals will need to submit the active skate_config into the ice_time config_id
Maintenance will have to select the active skate_config, then total hours and cost on each config
Maintenance will have to sum all skate_config costs.
ice_time UI will need to reference active skate_config hours against "maintenance_limit"
Exclude all off-ice skates

Bonus Points:
Enable a skater's preference for how many hours are wanted for maintenance. Mine is typically 21 hours, but could change with new skates.
On maintenance UI, show hours on per skate_config

Feature: Session Report Card

Only creatable/editable via coach types
View-only by student types or parent types

Consult with Robin as to what should be included.

Coach drop down not populating with all coaches

In the modal for "update time", the drop down for coaches list isn't populating dynamically as expected. Maybe that it wasn't completely ported over from PHP, or its just not working like we thought it was.

Reference Data:
2020-07-15; ice_time table line 247 had to be manually updated for coach ID 5 because coach ID 5 wasn't in the drop down list.

Some fields dont update

It appears that certain parts of the page do not update after submitting ice_time. I think anything that is json api related is working as expected, which is mostly just graphs and session tables - but the lists and non-json based items require a service restart to update data.

Feature: Option To Send Lesson Plan To Coach

There are various versions of skating journals available in print. Lets take a first step to create a form that focuses on what the student wants to work on during the next lesson, week, or month. Ideally, the skater should be able to disposition the journal entry with some type of "goal met" or "we did it", or some other short response so that as time passes, the skater, parent, and/or coach and assess as to if goals are being met.

Coach feedback will need to be planned for a separate feature release

Icetime sessions needs halp.

The time axis is showing minutes, should show hours. Whoops.
The date axis would benefit from being reversed, showing the oldest date on the left.

Convert Pie Chart & List: Budgets

This will require some var's being dropped into position, instead of feeding json to chartJS.... until we figure out how to do that.

Consider "PIC" skate types

This would need ....
additional skate_type added in db (freestyle, public, punch_card, pic)
a way to differentiate skate config's between pic vs ice so that pic time doesn't interfere with blade maintenance
a way to show pic practice time vs ice practice time
a way to show pic coaching time vs ice coaching time.
Probably want to see that in the last_month vs this_month icetime view

Maintenance: Show negative value as "Time OVER"

Currently, if one over skates the maintenance limit, it shows a negative amount of hours until maintenance is due.

Lets do an IF statement that basically says: If posative, show text "Hours Remaining", else show text "Hours OVER"

Fix: app.secret_key shenanigans.

We dun messed up.

After reviewing: https://blog.paradoxis.nl/defeating-flasks-session-management-65706ba9d3ce
It is clear that there a few easy things we can do to secure the application.

First, move the secret into the config file that we use for database credentials (sample in asset folder) and have the app pull that data in from the file.
Second, generate a 'secure as hell' key for said file
Third, update the example and any documentation around it.

Bonus points:
Have a competent friend give it a beating and report the results.

Convert ad-hoc embedded pie/donut charts

Currently, each pie/donut chart on the dashboard (/) has its own splat of code, dynamically created in the template.

Need to get these converted to something a bit more scalable, preferably external JS files that can be re-used and fed via json URL

Journal - Filter by date

Previously implemented feature now broken:

On Ice Time page, video icon would provide a url to the journal with a filter for only that specific day

Referenced Legacy Code:
https://github.com/kami-nashi/kn-fsm/blob/master/include.d/table_sessions.php

Potential corrections/suggestions:
https://stackoverflow.com/questions/24892035/how-can-i-get-the-named-parameters-from-a-url-using-flask
https://stackoverflow.com/questions/52117522/how-to-pass-get-parameters-to-url-using-flask-request

Add Links

Add spreadsheet and git repo links, for reference and such.

Feature: Move Punchcard section to its own section

Originally, punch card data seemed like it fit well on the ICETIME menu item. How ever, now, that doesn't appear to be the case.

We can move it to a punch card section of its own, but that view needs to be useful in its entirety. Bonus points if we can make a bootstrap 'card' for the current punch status, if any, for the dashboard view.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.