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.