User Tools

Site Tools


chalkup_checklist_departure_control

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
chalkup_checklist_departure_control [2024/08/07 07:52] – [TODO] kalaschnikowchalkup_checklist_departure_control [2026/03/27 15:58] (current) – [TODO] kalaschnikow
Line 1: Line 1:
 +====== ChalkUp Checklist Departure Control ======
 +
 +===== Subprojects =====
 +
 +[[ChalkUp PKW Abfahrtskontrolle]]
 +
 +===== Spec =====
 +
 +This is not really a specification, but it still can be helpful to implement the app.
 +
 +==== Screens ====
 +
 +The app consists of following screens:
 +  * questionnaires list screen
 +    * shows all questionnaires we have in a given category (e.g. "Done"/"Drafts"/"Trash")
 +    * is available from drawer
 +  * templates screen
 +    * it shows all available templates 
 +      * -> in case of "Chalkup Checkliste Abfahrtkontrolle" it have only one (?) template
 +    * is available from drawer
 +  * settings screen
 +  * questionnaire details screen
 +    * shows the details of one given questionnaire 
 +    * is available when the user clicks on a list entry in the "questionnaire list screen"
 +  * questionnaire report screen
 +    * shows PDF created from the given questionnaire
 +      
 +==== Data structures ====
 +
 +Currently this is a "plan" (=a couple of thoughts), not a real implementation. But, sure, in the future it must be implemented in some way.
 +
 +  * Questionnaire
 +    * usually a completed questionnaire or a draft of a completed questionnaire
 +    * this means it is not a template for a questionnaire (questions), but a data structure to save answers
 +  * QuestionnaireTemplate
 +    * contains a question list, which must be filled out by the user  
 +
 +
 +
 +==== Activities ====
 +
 +At the moment only one activity exists: 
 +  * ''MainJetpackComposeActivity''
 +    * it starts with the app and it contains all "root" logic
 +    * it contains ''ChalkupDrawer'' 
 +    * body of ''ChalkupDrawer'' contains ''AndroidViewBinding'' 
 +    * ''AndroidViewBinding'' inflates ''ContentMainBinding'' (which is declared in ''content_main.xml'')
 +    * ''content_main.xml'' has FrameLayout with only one ''FragmentContainerView''
 +    * ''FragmentContainerView'' uses ''mobile_navigation''
 +    * ''mobile_navigation'' uses as startDestination "@+id/nav_qlist", so ''QlistFragment'' 
 +    * ''QlistFragment'' loads ''done'' list as default
 +
 +==== Misc ====
 +
 +  * **-** questionnaire list screen (Qlist=>QlistFragment)
 +    * **-** implement lazy loading
 +    * **-** implement selection
 +    * **-** implement operations on selected items
 +    * **-** implement operations on one entry
 +      * menu / context
 +    * Links
 +      * https://openbook.rheinwerk-verlag.de/android11/04_003.html#l4.20
 +      * [[https://developer.android.com/jetpack/compose/lists|Lists and grids]] in Jetpack Compose
 +      * https://medium.com/mindorks/custom-array-adapters-made-easy-b6c4930560dd
 +      * https://medium.com/@tolgaerbas07/kotlin-mvvm-custom-array-adapter-for-autocompletetextview-62f2f6dc2b24
 +
 +==== ...TO BE CONTINUED... ====
 +
 +...
 +===== TODO =====
 +  * **-** implement drawer
 +    * **+** add all necessary points
 +      * **+** Checklists
 +        * **+** Done
 +        * **+** Drafts
 +        * **+** Trash
 +      * **+** Templates
 +      * **+** Settings
 +      * **+** About
 +    * **-** implement all necessary fragments (with dummy data)
 +      * **-** Checklist details
 +      * **-** Checklists
 +        * **-** Done
 +        * **-** Drafts
 +        * **-** Trash
 +        * **-** Checklist Details
 +      * **-** Templates
 +        * **-** Templates List
 +        * **-** Template Details
 +      * **-** Settings
 +      * **-** About
 +    * **-** implement loading of this fragments with proper data
 +    * **-** implement PDF export
 +
 +
 +===== Time line / Schedule =====
 +
 +  * I need estimated ca. 15 working days.
 +
 +  * So if I start now (07.08.2024) and we will have 3 weeks vacations in August / September, then I will have something to show ca. at 01.11.2024.
 +
 +
 +Broken down by "working units":
 +
 +  * **-** implement all necessary fragments with dummy data (=> 8 days)
 +    * **-** Checklists (3,5 days)
 +      * **-** List of Checklists = QlistFragment (1,5 days)
 +        * **-** Done
 +        * **-** Drafts
 +        * **-** Trash
 +      * **-** Checklist Details (2 days)
 +    * **-** Templates (3 days)
 +      * **-** Templates List (1 day)
 +      * **-** Template Details (2 days)
 +    * **-** Settings (1 day)
 +    * **-** About (0,5 days)
 +  * **-** implement loading / saving proper data in all fragments (=> 4 days)
 +      * **-** List of Checklists = QlistFragment (=> 2 days)
 +      * **-** Checklist Details (=> 2 days)
 +    * **-** implement PDF export (=> 2days)
 +
 +
 +
 +
 +===== Misc =====
 +
 +  * **-** Screen mit allen Checklisten
 +    * Notes:
 +      * die Checkliste basiert auf ''/home/kalaschnikow/Desktop/tmp/Checkliste-Abfahrtkontrolle-FleetGO.pdf''
 +      * there are more checklists, which are "defined by law" in Germany
 +        * examples:
 +          * Erste-Hilfe-Kosten Checkliste
 +          * Abfahrtskontrolle PKW
 +          * Abfahrtskontrolle LKW - 218
 +          * Arbeitsauftrag - 505
 +          * Auto-Wartungscheckliste - 453
 +          * Checkliste Regalprüfung - 1214
 +          * Fahrzeugwartungsprotokoll - 1082
 +          * Gebäudewartung - 370
 +          * Gebäudezustand - 275
 +          * Kfz-Inspektion - 869
 +          * Prüfprotokoll Brandschutztüren(?) - 848
 +          * Rauchmelder - 374
 +          * Wartungsprotokoll für Rauchmelder - 524
 +          * Audit ISO 9001:2015 - 411
 +          * Audit Pflege - 342
 +          * Apothekeninspektionen - 354
 +          * Gefährdungsanalyse Legionellen - 214
 +          * ISO 13485 Audit - 678
 +          * ... => find the source of above list 
 +            * DGUV ?
 +      * **-** andere Checklisten finden, die man auch kostenlos anbieten kann
 +        * **-** Facility Management / Gebäudereinigung
 +        * **-** Ambulante Pflege
 +        * **-** ...
 +
 +