Eternals HRMS
In Progress
Terminal window
Terminal window
Eternals HRMS is a self-hosted people-ops workspace. The React client is built for HR admins and for employees who need a calm self-service portal — people operations, kept clear.
Tech Stack
Section titled “Tech Stack”| Layer | Technology |
|---|---|
| Web UI | React (ec-hrms-client) |
| API server | NestJS (ec-hrms-core) |
| Database | PostgreSQL |
| Cache / sessions | Redis |
| Object storage | S3 / MinIO |
| SMTP (Eternals Mailer in local dev) |
Features
Section titled “Features”- Identity and access — Email login, JWT sessions, MFA, roles, and permission-aware menus
- Organization structure — Departments, designations, and branches
- Employee lifecycle — Onboarding through probation, active, notice, and exit
- Attendance and leave — Check-in, regularization, leave types, balances, and holidays
- Timesheets — Projects, tasks, and time entries
- Self-service — Profile, security, notifications, and employee ESS
- Reports — Headcount and attendance
Architecture Overview
Section titled “Architecture Overview”Browser (React SPA, :8581) │ /api/v1 (cookies + JWT) ▼NestJS (ec-hrms-core, :8522) ├── Auth, users, roles, permissions, sessions └── Org, employees, attendance, leave, timesheets, reports │ ├── PostgreSQL ├── Redis ├── S3 / MinIO └── SMTP → Eternals Mailer :1025Local development
Section titled “Local development”There is no published Docker image yet. Run the client and API separately:
# API — http://localhost:8522 (Swagger at /docs)cd ec-hrms-core && npm run start:dev
# UI — http://localhost:8581cd ec-hrms-client && npm run start:devThe first registered account is Super Admin. Sign in with email (no username).
Vision
Section titled “Vision”Eternals HRMS aims to give teams a self-hosted people-ops workspace — employee lifecycle, attendance, leave, and timesheets — without handing HR data to a SaaS vendor.