EDUNEX ERP: Training Center Management System
A Windows desktop ERP that runs a whole training center: trainees, courses, schedule, attendance, finance, certificates, trainers and reports.
ElectronReactSQLiteFastify
Context
A training center often runs from one reception PC on an unreliable connection. Registration, payment and printing a certificate have to happen now, not when the network comes back. So the data is local first, and sync is an addition, not a requirement.
Scope I disclose publicly
- An Electron app with a React and Tailwind interface, installed with a Windows setup file and updated automatically.
- A local SQLite database with integrity checks, and encrypted manual and scheduled backups.
- Modules: trainees, courses, schedule, attendance, finance, certificates, trainers, reports, users and settings.
- Role-based permissions (manager, accountant, registrar, trainer, receptionist), and an account lock after five failed attempts.
- PDF certificates and invoices, barcodes and QR codes, and Excel export.
- An Arabic and English interface.
Decisions and trade-offs
- Local first on SQLite, because a training center should not stop when the internet does.
- Sync sits behind a feature flag, so it only starts once the server side is ready for it.
- Seed data is written only into an empty database, so running it twice never touches real records.
- The trade-off: a desktop app means updates through the installer, in exchange for working without a network.
The repository is private. I can demo the system live on a call.
Disclosure: A desktop system for training centers, at version 0.1.0. I name no clients and publish no usage figures.
