EmpyreanOS is a full-scale, next-generation Human Capital Management (HCM) and Business Operating System. It goes beyond basic CRUD operations to provide a living, real-time workspace for executives, managers, and employees.
The project combines a robust Java Spring Boot backend with a dynamic, role-based Vanilla JavaScript frontend. It focuses on real-world enterprise system design, featuring live socket communications, automated payroll engines, strict role-based access control (RBAC), and integrated operational ledgers.
The primary goal of EmpyreanOS is to design and implement a scalable, modular corporate framework that can:
- Dynamically route and restrict UI access based on corporate hierarchy (Boss, Manager, Employee).
- Automate complex HR workflows, including pro-rated payroll, tax deductions, and document generation.
- Provide real-time internal communications (1-on-1 and Group Spaces) to replace external tools like Slack.
- Manage physical and digital assets securely through a unified Management Hub[cite.
- Serve as a comprehensive portfolio piece showcasing end-to-end full-stack system integration.
- Dynamic Role-Based Access (RBAC): The frontend architecture dynamically injects UI components, ensuring Employees only see personal data, Managers see team data, and the Boss has full executive oversights.
- Automated Payroll Run Engine: A complex calculation engine that pulls attendance and leave data to generate pro-rated salaries, calculating Tax (TDS), PF, and Medical deductions, and exporting PDF payslips.
- Real-Time WebSockets Chat: Live communication module supporting direct messages and custom Group Spaces, complete with Base64 secure file attachments (PDF/Images) and message history.
- Unified Management Hub: A consolidated control center for Managers to assign hardware, approve expense reimbursements, upload to a secure Document Vault, and save 1:1 private coaching notes.
- Intelligent Time & Attendance: Live clock-in widgets with a backend algorithm that automatically fills historical gaps with "Absent" or "Weekend" statuses.
- Interactive D3.js Org Chart: A visual, infinite-pan hierarchy tree mapping out the entire corporate structure from the CEO down to interns.
- Startup Operations: A complete out-of-the-box system for managing a growing company's HR and payroll needs.
- Internal Communications: Secure, self-hosted corporate messaging without relying on third-party vendors.
- Hardware & Expense Auditing: A permanent ledger tracking company laptops, phones, and approved financial reimbursements.
- Full-Stack Architecture Demonstration: An advanced academic or portfolio project showcasing complex API routing, WebSocket streams, and relational database mapping.
EmpyreanOS follows a strict Controller-Service-Repository pattern on the backend, seamlessly connected to a Single-Source-of-Truth frontend layout.
- Pure HTML/CSS/JS for lightning-fast DOM manipulation.
sidebar.jsacts as the master router, building navigation dynamically based on local storage roles[cite: 6, 80].
- Java Spring Boot REST Controllers handle API requests.
- Services contain business rules (e.g., calculating net salary or recording audit logs).
- WebSocket configuration manages STOMP protocol for live chat channels.
- MySQL database with complex entity mapping (Employees, SalaryRecords, ChatMessages, Assets, Leaves) managed via Spring Data JPA.
EmpyreanOS/
│
├── ems-backend/
│ ├── .metadata/
│ ├── .mvn/
│ ├── .plugins/
│ │
│ ├── src/
│ │ └── main/
│ │ └── java/com/company/ems/
│ │
│ │ ├── config/
│ │ │ └── WebSocketConfig.java
│ │
│ │ ├── controller/
│ │ │ ├── AttendanceController.java
│ │ │ ├── AuthController.java
│ │ │ ├── ChatController.java
│ │ │ ├── EmployeeController.java
│ │ │ ├── EventController.java
│ │ │ ├── LeaveController.java
│ │ │ ├── ManagerController.java
│ │ │ ├── SalaryController.java
│ │ │ └── WorkspaceController.java
│ │
│ │ ├── dto/
│ │ │ └── LoginRequest.java
│ │
│ │ ├── model/
│ │ │ ├── Asset.java
│ │ │ ├── Attendance.java
│ │ │ ├── AuditLog.java
│ │ │ ├── ChatMessage.java
│ │ │ ├── Employee.java
│ │ │ ├── EmployeeDocument.java
│ │ │ ├── Event.java
│ │ │ ├── ExpenseRequest.java
│ │ │ ├── LeaveRecord.java
│ │ │ ├── ManagerNote.java
│ │ │ └── SalaryRecord.java
│ │
│ │ ├── repository/
│ │ │ ├── AssetRepository.java
│ │ │ ├── AttendanceRepository.java
│ │ │ ├── AuditLogRepository.java
│ │ │ ├── ChatMessageRepository.java
│ │ │ ├── EmployeeDocumentRepository.java
│ │ │ ├── EmployeeRepository.java
│ │ │ ├── EventRepository.java
│ │ │ ├── ExpenseRepository.java
│ │ │ ├── LeaveRepository.java
│ │ │ ├── ManagerNoteRepository.java
│ │ │ └── SalaryRepository.java
│ │
│ │ ├── service/
│ │ │ ├── AttendanceService.java
│ │ │ ├── AuditLogService.java
│ │ │ ├── AuthService.java
│ │ │ ├── EmployeeService.java
│ │ │ ├── LeaveService.java
│ │ │ ├── SalaryService.java
│ │ │ └── EmsBackendApplication.java
│ │
│ │ ├── resources/
│ │ │ └── application.properties
│ │
│ │ └── test/
│ │
│ ├── target/
│ ├── .classpath
│ ├── .project
│ └── pom.xml
│
├── ems-frontend/
│ ├── .vscode/
│ │
│ ├── admin.html
│ ├── attendance.html
│ ├── calendar.html
│ ├── chat.html
│ ├── employees.html
│ ├── index.html
│ ├── leaves.html
│ ├── login.html
│ ├── register.html
│ ├── payroll-engine.html
│ ├── payroll.html
│ ├── reports.html
│ ├── script.js
│ ├── settings.html
│ ├── sidebar.js
│ ├── style.css
│ ├── team.html
│ └── workspace.html
│
├── .lock
├── .log
├── version.ini
└── .project
git clone https://github.com/arshdeepsarsh/EmpyreanOS.git
cd EmpyreanOS