Quickstart¶
1. Install¶
From a clone of the repo:
git clone https://github.com/Kein95/luonvuituoi-honor-roll
cd luonvuituoi-honor-roll
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ./packages/core -e ./packages/cli
2. Scaffold a project¶
This writes honor.config.json, api/index.py, requirements.txt, and a README.md.
3. Prepare your results¶
Your source file can be CSV, Excel, or JSON. The columns it uses are mapped through data_mapping in the config, so a renamed column only needs a config edit. The minimum: a name and a medal column.
Subject + medal normalisation
Subjects are uppercased (Maths → MATHS); medals are uppercased and must exist in the global medal registry (gold → GOLD). Rows without a name or a recognised medal are skipped (with a warning).
4. Import¶
--replace deletes that edition's existing rows first, so re-imports are idempotent.
5. Run¶
Open the portal, the /search page, and /admin in your browser.
6. (Optional) Seed fake data¶
To see the UI with data before your real results are ready:
Next steps¶
- Configuration reference: Every
honor.config.jsonkey explained. - Architecture: How the layers fit together.
- Deploy: Deploy to Vercel or Docker.