Mohamed BardouniAI Expert & Product Engineer

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.

Need something similar?

Send me the problem, the users, and the expected scope.