How ajaykreigns/my-hrms works
iFluids HRMS is a browser-only HR, payroll, and time-management demo. Employees sign in, use the app shell to reach role-appropriate modules, and submit or manage HR records; managers and administrators review requests and configure operational data. Modules share a localStorage-backed browser database seeded with fictional data. The README documents additional areas such as documents, learning, helpdesk, and reporting; these are represented at the available app directory level where their implementation was not sampled. Edges reflect excerpts, indexed references, or README statements; unsampled subsystem links are omitted.
Main entry points: App.jsx App shell and navigation · store.js Browser data store · Admin.jsx Employee administration · TimeOff.jsx Attendance and leave
Components 23
Access and Shell
- App shell and navigation
app/src/App.jsx - Role-based login
app/src/pages/Login.jsx - Home dashboard
app/src/pages/Home.jsx
People and Organization
- Employee profiles
app/src/pages/Profile.jsx - Org directory
app/src/pages/Org.jsx - Team views
app/src/pages/Team.jsx - Goals and reviews
app/src/pages/Performance.jsx
Workplace Requests
- Request inbox
app/src/pages/Inbox.jsx - Attendance and leave
app/src/pages/TimeOff.jsx - Expenses and requests
app/src/pages/Requests.jsx - Timesheets
app/src/pages/Timesheets.jsx - Other HR modules
app/src/pages
Administration and Pay
- Employee administration
app/src/pages/Admin.jsx - HR operations
app/src/pages/AdminOps.jsx - Hiring
app/src/pages/Hiring.jsx - Payroll processing
app/src/pages/Payroll.jsx - My finances
app/src/pages/Finances.jsx
Shared Runtime
- Browser data store
app/src/store.js - Demo data seed
app/src/seed.js - Shared UI components
app/src/ui.jsx - Date and HR calculations
app/src/utils.js - Browser localStorage
Other components
- Employee or manager
Connections 27
- Employee or manager → Role-based login: signs in
README.md - Role-based login → Browser data store: checks session
app/src/pages/Login.jsx - App shell and navigation → Browser data store: reads session data
app/src/App.jsx - App shell and navigation → Home dashboard: routes to
app/src/App.jsx - App shell and navigation → Attendance and leave: routes to
app/src/App.jsx - App shell and navigation → Expenses and requests: routes to
app/src/App.jsx - App shell and navigation → Goals and reviews: routes to
app/src/App.jsx - App shell and navigation → Timesheets: routes to
app/src/App.jsx - App shell and navigation → Request inbox: routes to
app/src/App.jsx - App shell and navigation → Employee profiles: routes to
app/src/App.jsx - App shell and navigation → Org directory: routes to
app/src/App.jsx - App shell and navigation → Team views: routes to
app/src/App.jsx - App shell and navigation → My finances: routes to
app/src/App.jsx - App shell and navigation → Employee administration: routes to
app/src/App.jsx - Employee administration → HR operations: delegates to
app/src/pages/Admin.jsx - Employee administration → Hiring: routes to
app/src/pages/Admin.jsx - Employee administration → Payroll processing: routes to
app/src/pages/Admin.jsx - Attendance and leave → Browser data store: submits requests
app/src/pages/TimeOff.jsx - Attendance and leave → Request inbox: notifies manager
app/src/pages/TimeOff.jsx - Browser data store → Demo data seed: initializes from
app/src/store.js - Browser data store → Browser localStorage: persists state
app/src/store.js - Shared UI components → Browser data store: reads and mutates
app/src/ui.jsx - Home dashboard → Request inbox: uses inbox data
app/src/pages/Home.jsx - Payroll processing → My finances: uses finance functions
app/src/pages/Payroll.jsx - HR operations → Attendance and leave: uses leave module
app/src/pages/AdminOps.jsx - Employee profiles → App shell and navigation: navigates via
app/src/pages/Profile.jsx - Other HR modules → Employee or manager: supports documented areas
README.md