====== 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 * **-** ...