Home | Documentation Navigation
This document explains the concept and implementation for interactive checklists based on Markdown files in the ChecklistInteractive app.
- Checklists are provided as PDF files stored in
assets/checklists. - The app reads PDF files from
assets/checklistsand presents them using a PDF viewer.
Checklist(data model) represents the full checklist with sections and items.ChecklistRepositoryhandles data for PDF-based checklists (metadata), while PDF rendering is handled by a PDF viewer.ChecklistViewModelmanages loading data and toggling items (UI-friendly view model for Compose).ChecklistScreenis a Compose UI showing sections and interactive items.
- Files are stored in
app/src/main/assets/checklists. - Files are stored in
app/src/main/assets/checklistsand may be organized in subfolders. The app automatically lists all top-level folders and files, and you may create nested subfolders. The Browse screen auto-detects PDF files (.pdf) and folders and lets users navigate into subfolders to open checklists. - Groups and sections are recognized by headings (#, ##). Items are recognized as list items; task items use
[ ]or[x]markers.
Example:
- Battery - ON
- Avionics - ON
- Flaps - Set
- Add more assets to
assets/checkliststo create new checklist files. - Add file import UI to allow loading checklists from external storage or the web.
- Add a small editor or store checklists in external storage for sharing between devices.
*** Implementation details and further improvements added in the app code comments. ***