Skip to content

Jidou/schletter-timing

Repository files navigation

schletter-timing

  1. schletter-timing
    1. TODO
    2. Components
    3. Roadmap
      1. Reading Data
      2. Console Frontend
      3. Web Frontend
    4. Testing

TODO

  • Web Frontend
    • Read Timing values from device and add to groups
    • Render result as PDF -> call to existing impl?

Components

  • Frontend
  • PDF Generator
  • Business Logic
  • Data Reader(s)
  • Repo(s)

Roadmap

Reading Data

  • Read data from ALGE-Timing Timy3 using USB
    • Output sample: 0005 C0M 22:05:41.08 00 [0]: Empty [1]: Measurement number [2]: COM? [3]: Time [4]: Emtpy [5]: Emtpy [6]: ?
  • Read data from ALGE-Timing Timy3 using RS 232
    • Output sample: ?

Console Frontend

  • Console Frontend Features (1.0 Release)
    • Add Participant
    • Add Group
    • Add Participant to Group
    • Create new Race
    • Add Group to Race
    • Read timing values from device and assign to Groups
    • Calculate results
    • Generate PDF(s)
  • General Features
    • Save Participants into file as JSON
    • Save Groups into file as JSON
    • Save Race into file as JSON
    • Save as often as possible, into different files during read of timing values and assignment process (better save than sorry ;))
    • Add Option to load Participants/Groups/Race

Web Frontend

  • Web Frontend Features:
    • 2.0 Release
      • Create race
      • Add Participants
      • Add Groups
      • Add Participants to Group
      • Add Groups to Race
      • Assign Start Numbers
        • Resulting numbers are Immutable in Frontend, but Mutable on Server
        • Can be triggered multiple times with different results
      • Add Option to trigger timing value load from device
        • Test load from device with Web Frontend
      • Add Option to generate PDF(s)
        • Implement PDF generation in javascript
        • Add different options (by Group, by Class, ...)
      • Add Overview of all Participants ever, without groups
      • Add Overview of all Groups ever, with latest Participants
      • Add Overview of all Races
      • Add Option to load old Races
      • Add Option to create new Races
        • Add new CRU(D) functionality to Race detail page
      • Add Overview of Current Groups in loaded Race (old or new)
      • Remove CurrentContext to enable easier live reload
      • (IMPORTANT) Test everything done up to this point
        • Categories
          • Create
          • Read
          • Update
        • Classes
          • Create
          • Read
          • Update
        • Participants
          • Create
          • Read
          • Update
        • Groups
          • Create
          • Read
          • Update
          • Participant assignment
        • Race
          • Create new Race
          • Load old Race
          • Add Groups
          • Manipulate Groups in Race only
            • Add implementation of onBlur
          • Assign Start numbers
          • Load Timing Values from Device
          • Assign Timing Values to Groups
          • Results
            • Show overall results
            • Toggle Classes grouping
              • Unselect all Groups in Grouping
            • Toggle Custom result
              • Custom Result title is used for PDF
              • Unselect is working
      • Release Preparations
    • next Release
      • Check if Model.Group.Groupnumber is still needed
      • Make FinishTime in Group nullable
      • Autofocus newly created element on large pages
      • Sortable table
      • Add Delete Option
        • Group.js
        • Participant.js
        • RaceGroups.js
        • RaceParticipants.js
        • Categories.js
        • Classes.js
      • Autosuggestion might cause performance issues on larger pages (Group and Participant Overview), look for alternative or improve it
      • Overhaul workflow
        • Add Option to Add Groups via the Race Overview page
        • Remove global Group DB (To many changes between the years, to be of use)
      • Rethink Pagination for global pages
        • Participants
      • i18n
        • Basic Setup
        • English
        • Tirol
        • German
      • Results
        • Multiselect/unselect (Whole group)
        • Try to fetch name of list for name of generated file
    • future Release
      • UX
        • Improve Add functionality
      • Data Science Stuff ;)
        • Add Option to load multiple races for statistics
        • Add search and display options
          • Fastest group ever
          • Time of group over multiple years
          • ...

Testing

t l timing_values_0.json

p l AllParticipants.json g l AllGroups.json r l TestSave.json r l FinalTestSave.json

p s AllParticipants.json g s AllGroups.json r s TestSave.json r s FinalTestSave.json

r c Test TestRace 2018-08-21 Here Someone

g c Group001 1 male g c Group002 2 female g c Group003 3 male g c Group004 4 female g c Group005 5 male g c Group006 6 mixed g c Group007 7 mixed g c Group008 8 mixed g c Group009 9 male g c Group010 10 female

p c Firstname001 Lastname001 87 one p c Firstname002 Lastname002 87 one p c Firstname003 Lastname003 87 one p c Firstname004 Lastname004 87 one p c Firstname005 Lastname005 87 one p c Firstname006 Lastname006 87 one p c Firstname007 Lastname007 87 one p c Firstname008 Lastname008 87 one p c Firstname009 Lastname009 87 one p c Firstname010 Lastname010 87 one p c Firstname011 Lastname011 87 one p c Firstname012 Lastname012 87 one p c Firstname013 Lastname013 87 one p c Firstname014 Lastname014 87 one p c Firstname015 Lastname015 87 one p c Firstname016 Lastname016 87 one p c Firstname017 Lastname017 87 one p c Firstname018 Lastname018 87 one p c Firstname019 Lastname019 87 one p c Firstname020 Lastname020 87 one

g ap Group001 Firstname001_Lastname001 Firstname002_Lastname002 g ap Group002 Firstname003_Lastname003 Firstname004_Lastname004 g ap Group003 Firstname005_Lastname005 Firstname006_Lastname006 g ap Group004 Firstname007_Lastname007 Firstname008_Lastname008 g ap Group005 Firstname009_Lastname009 Firstname010_Lastname010 g ap Group006 Firstname011_Lastname011 Firstname012_Lastname012 g ap Group007 Firstname013_Lastname013 Firstname014_Lastname014 g ap Group008 Firstname015_Lastname015 Firstname016_Lastname016 g ap Group009 Firstname017_Lastname017 Firstname018_Lastname018 g ap Group010 Firstname019_Lastname019 Firstname020_Lastname020

r ag Group001 Group002 Group003 Group004 Group005 Group006 Group007 Group008 Group009 Group010