A streamlined Streamlit-based dashboard for New Zealand Cadet Forces Squadron 49, providing tools for managing accounts, training programs, resources, and more — all in one place.
- 🔐 Account Management – Easily manage cadets and users.
- 📚 Training Resources – View documents, manuals, and lesson plans.
- 📅 Training Program Builder – Generate or review lesson plans and programs.
- 🌐 Multi-language Support – Internationalization via gettext-compatible
.po/.mofiles. - 🎨 Custom Theme – Tailored layout with
style.cssand branding media.
website/
├── app.py # Main Streamlit app
├── handlers/ # Data loading and configuration classes
├── resources/ # Static files (CSS, images, locales, configs)
├── sub_pages/ # Page routes (home, tools, account, etc.)
└── .streamlit/config.toml # Streamlit UI configInstall dependencies using:
pip install -r requirements.txtFrom the website/ directory, run:
streamlit run app.pyTranslation files for english are located in:
resources/locales/en-US/LC_MESSAGES/messages.popermission_structure.json– Ranks and permissionssyllabus.json– Training modules and stagesmanuals.json– Official cadet manuals
Brand-aligned media is in resources/media/:
logo.png,icon.png,cadets_header.png
This project is licensed under the terms of the MIT License. See LICENSE for details.
Got a feature idea or found a bug? Open an issue or submit a PR!
Created for 49 Squadron (ATC), Royal New Zealand Air Force Cadet Forces.