Case study
Unified multi-agency HR portal
Employee data centralization for an industrial group
- Angular
- Java
- Spring Boot
- TypeScript
- PostgreSQL
Company context
Ortec Group is a French industrial and environmental services group employing more than 14,000 people worldwide, with its headquarters based in Aix-en-Provence.
Problem
HR data was scattered across many tools and agencies, making employee tracking complex, time-consuming and error-prone.
Solution
I took part in building a unified HR portal centralizing employee data for all the group's agencies:
- Dynamic filters and advanced search.
- Interactive tables for data analysis.
- Business modules: PPE tracking, medical visits, CMR exposure, site access and qualifications / training.
Results
- Centralized data across all agencies.
- Significant time savings for HR teams.
- Improved reliability and traceability of compliance processes.
Team & methodology
- Team of 6 developers, 1 product owner and 1 technical architect.
- Agile methodology (Scrum) with 3-week sprints.
- Systematic code reviews and continuous integration.
Tech stack
Java, Angular, Spring Boot, TypeScript, PostgreSQL, Docker, Git.
01
Context and challenge
Ortec Group tracks workforce compliance across all of its agencies: personal protective equipment, medical visits, CMR agent exposure, site access, certifications and training.
The data was tracked agency by agency, with no consolidated view and no shared schedule: a compliance risk and a heavy tracking workload for the teams.
02
My role and scope
Front-end development of the five business modules in Angular and TypeScript: dynamic filters, advanced search and interactive tables.
Performance work on the most heavily used screens (high data volumes, combined filters) and on profile-based data access rules.
Consuming the REST APIs exposed by the Java / Spring Boot back end.
03
Technical challenges
Consolidating multi-agency data
Tracking existed agency by agency: the portal had to provide a unified per-employee view that was filterable and usable, without forcing every agency into the same organisation.
Making regulatory deadlines readable
Medical visits, certifications and training each have their own deadlines: they had to be visible and actionable without drowning the user in alerts.
Holding up on high-volume tables
On high-volume employee and deadline lists, dynamic filters and advanced search had to stay usable: the work is as much about queries and pagination as it is about rendering.
04
Solution and architecture
05
Detailed stack and why
- Angular
- Why this choice — A structuring framework (modules, dependency injection, reactive forms): a good fit for a feature-rich business application with many data-entry and filtering screens to maintain over time.
- Java / Spring Boot
- Why this choice — A typed REST API on a mature Java ecosystem, well tooled for persistence, security and testing — the expected foundation for a management application.
- PostgreSQL
- Why this choice — Highly relational business data (employees, sites, equipment, certifications, deadlines): the relational model and its constraints do the consistency work.
06
Results
- Functional modules delivered
- 5PPE, medical visits, CMR exposure, site access, certifications and training
07
What I take away from it
A compliance portal is less about display than about prioritisation: making a deadline useful first means deciding what to show first. The real work was turning five agency-by-agency trackers into a single filterable reading, without losing the information each agency needs day to day.