EMMA โ Employee Management & Development Platform
Overviewโ
EMMA is a full-stack internal people-ops platform. It tracks employee profiles, learning activities, career goals, vacation records, hardware purchases, and org hierarchy. It integrates with Google Workspace and internal BigQuery datasets via scheduled sync services.
Tech Stackโ
Frontendโ
- React 18, TypeScript 5, Vite
- Material-UI (MUI) v5
- TanStack Query v5
- Firebase Authentication (Google OAuth)
- React Router v6
- ECharts, Lunr.js, Luxon
- PWA via Workbox
Backendโ
- Java / Spring Boot on Cloud Run
- Objectify (Datastore ORM) for legacy data; Firestore for new models
Sync Servicesโ
Four Node.js services on Cloud Scheduler that pull data from Google Workspace Directory and BigQuery into the employee data store.
Infrastructureโ
GCP (Cloud Run, Firestore, Datastore, Cloud Scheduler, Artifact Registry, Secret Manager), Terraform, GitHub Actions, Cloud Build, SendGrid.
Architectureโ
React PWA (Firebase Auth)
โ Spring Boot REST API (Cloud Run)
โ Firestore / Datastore
Node.js sync services (Cloud Scheduler)
โ Google Directory API
โ BigQuery
โ Spring Boot REST API
Key Featuresโ
- Org-wide visualisation dashboard: people-leader network graph, track distribution radar, project hours chart, seniority distribution (ECharts)
- Client-side full-text search (Lunr.js)
- Email notifications via SendGrid
- Multi-environment infrastructure managed with Terraform
Getting Startedโ
Clone the repository and follow the README for setup instructions. Most frontend work can be done by pointing the frontend at the staging API โ no local backend required.