GithubHelp home page GithubHelp logo

i-am-dev / dojomanager Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 1.0 4.22 MB

The Flask based REST API for a complete Dojo Management application.

License: MIT License

Makefile 1.30% Python 98.70%
club-management dojo dojo-management judo karate

dojomanager's People

Contributors

i-am-dev avatar wwamyburgh avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

cdoru

dojomanager's Issues

Add student to session

A student should be able to have their attendance to a session recorded.

The club ID and student ID need to be captured which will mark a student as having attended the class/training.

This can only be done by a club coach/sensei.

Club Management

We need to be able to manage clubs

We need to be able to:

  • Create a club
  • Edit a club
  • Close a club
  • Add/Remove members from a club
  • Assign/Revoke admin rights to a member in the club
  • Mark a member as a 'Sensei'
  • Mark a member as a 'Committee Member'

Some things to keep in mind:

  • Members can belong to more than one club
  • Clubs can have more than one location

Register a user account

A user account is to manage student records (also known as members).

User account Properties

  • Email (text 100 char)
  • Password
  • First Name (text 50 char)
  • Last Name (text 50 char)
  • Physical Address (multiple text fields of 50 char)
  • Permission Level - This is managed by the system or a superuser (int)
  • UserConfig - to hold configuration data in JSON format (long text)

Allow upload of member documentation

The following documentation must be able to be added to the student account:

  • Birth certificate/Government issued ID
  • Medical Aid/Insurance card
  • Letter from doctor/GP for chronic medication
  • Parent or guardian's Government issued ID in the case of a minor (student is under 18 years of age)

Core - Email

Have the ability to easily send emails using a worker process.

Update user information

A user should be able to update any field of their user account, excluding the permission level.

Update member

Allow upload of new photo and documentation.

Allow editing of all student fields

Club or Dojo fees

A sensei should be able to easily manage the dojo's finances.

For this epic it will be loading a student and setting applying the standard monthly/weekly/per session fee, which can be overridden to be a different fee value linked to a student record.

There can be multiple recurring fees such as:

  • Monthly club fee
  • Annual Registration fee

And adhoc fees such as tournament fees or perhaps even products such as training gui or tracksuit etc.

A email will be sent to the user responsible for the student record when the payment is due.

For now we will not worry about accepting online payments etc. Payment will need to be made directly with the club and the sensei can then just mark the fee as paid.

May need some reporting on this either included in this epic or possibly a separate reporting epic?

User Management

Develop some user management.
Register, login, reset password etc.

Student Attendance

Students need to be able to "sign in" to a training session.

My idea here is to issue students with a QR code of their student number (recordId) and the sensei can scan the card at the start/during training which would then mark the student as having attended that particular session.

This can later be tied up into a scheduler where the sensei can setup a schedule of when training takes place and at which club, in the case of multiple locations for a club.

Create member

A member (AKA 'student') belongs to a user account.

A user account can have multiple students. Think of a parent that has young children. Each child, and possibly the parent as well, can be a student. The children are too young to have their own accounts to the parent manages them from their user account.

Required Fields

A student needs the following properties:

  • First Name (text 50 char)
  • Middle Name (text 50 char)
  • Last Name (text 50 char)
  • Date of birth (date)
  • ID Number/Passport Number (text 20 char)
  • Gender (text 6 char)
  • Medical Aid/Insurance Scheme Name (text 50 char)
  • Medical Aid/Insurance Plan Name (text 50 char)
  • Medical Aid/Insurance Main Member Name (text 100 char)
  • Medical Aid/Insurance Number (text 20 char)
  • Alergies (text 300 char)
  • Medical Requirements/Concerns (text 300 char)
  • Food Requirements (text 300 char)
  • Chronic Medication (text 300 char)

Additional Information

Each student needs to have a photo associated with them.
Supporting documentation also needs to be uploaded such as:

  • Birth certificate/Government issued ID
  • Medical Aid/Insurance card
  • Letter from doctor/GP for chronic medication
  • Parent or guardian's Government issued ID in the case of a minor (student is under 18 years of age)

User message feed

A feed should be available for a user to view messages from the system.

This could be system or club notices or notifications of things such as new invoice due etc.

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.