School Management CLI
Small commands. Clear boundaries.
The starting point.
A compact command language still needs clear parsing, modular handlers, validation, and durable storage.
What I built.
I built the prompt loop, parser, trainee and course handlers, JSON storage, validation rules, and focused unit tests.
Follow the flow.
Read an entity and action from a compact command.
Made to work.
The CLI supports trainee and course workflows, with at most 20 participants per course and five courses per trainee.
Decisions that matter.
- 01
Separate parsing from domain rules.
Commands are parsed before reaching the trainee or course handler, keeping responsibilities focused.
- 02
Give constraints a home.
Explicit date and enrolment validation protects stored records and is covered by focused unit tests.
The work is open.
Implementation, decisions, and review history.
Built with
Node.js / JavaScript / JSON storage / Vitest / prompt-sync / Chalk