Skip to content

Eternals HRMS

In Progress

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.

LayerTechnology
Web UIReact (ec-hrms-client)
API serverNestJS (ec-hrms-core)
DatabasePostgreSQL
Cache / sessionsRedis
Object storageS3 / MinIO
EmailSMTP (Eternals Mailer in local dev)
  • 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
Terminal window
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 :1025

There is no published Docker image yet. Run the client and API separately:

Terminal window
# API — http://localhost:8522 (Swagger at /docs)
cd ec-hrms-core && npm run start:dev
# UI — http://localhost:8581
cd ec-hrms-client && npm run start:dev

The first registered account is Super Admin. Sign in with email (no username).

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.