Tenant boundary
Employer data and settings are resolved through a tenant context so shared infrastructure never means a shared business space.
Multi-brand HR-management SaaS for QSR operators
Multi-tenant workforce software used across franchise networks in France. My work covered Angular and Spring Boot flows for employee records, schedules, requests, documents, permissions, and the brand-specific configuration behind each employer workspace.

Workforce operations across franchise networks cannot be reduced to one schedule and one permission model. Each employer needs its own identity, employee records, approval paths, documents, and rules, while the product still has to remain one maintainable system.
EasyRHIS gives each employer a tenant-aware workspace with brand settings, role-specific actions, and configurable workflows. My work covered Angular interfaces and Spring Boot services across employee, scheduling, request, document, and administration flows.
Employees use a dedicated surface for schedules, documents, leave requests, and notifications. Managers use the same underlying model to review work and administer their organisation without crossing a tenant boundary.
6 months · Full-time
2024 · Tunisia
Full-Stack Developer
Spring Boot + Angular
These QSR brands were tenant-customers of the EasyRHIS platform during my engagement.
Tenant model
EasyRHIS separates what every employer shares from what each brand must control. The result is one product that can adapt its identity, processes, permissions, and employee experience without becoming a collection of forks.
Employer data and settings are resolved through a tenant context so shared infrastructure never means a shared business space.
Themes, terminology, enabled modules, and portal behavior adapt to each franchise network without branching the product.
Managers turn HR processes into forms, steps, approvals, and events that can be deployed consistently across sites.
Schedules, documents, requests, and notifications meet employees in a focused self-service experience across devices.
Employee records, requests, schedules, and workflow administration live in one tenant-scoped management surface.



The visual workflow builder lets HR teams create custom processes without code. Define steps, approvals, and notifications — then deploy to employees with a single click.



After completing onboarding, employees access their personalized portal — schedules, documents, requests, and real-time messages all in one place.


Employees access their portal from any device — optimized for quick schedule checks and request submissions on the go.



Platform architecture
The implementation keeps tenant context, domain workflows, data access, and permissions explicit across the stack so configuration can grow without weakening isolation or maintainability.

Shared UI foundations support distinct management and employee journeys while tenant configuration supplies the final experience.
Workflows, employees, documents, events, and authentication are handled behind clear service boundaries.
Tenant-aware data access makes organisation scope a first-class concern in reads, writes, and administration paths.
Managers, franchise operators, and employees see only the actions and records appropriate to their role and tenant.
The work focused on the boundaries a multi-brand workforce product must hold in everyday use, without claiming results the product did not measure.
Tenant-aware
Data and permissions
Brand-led
Identity and configuration
Role-based
Manager and employee views
Configurable
Requests and approvals
Engineering Challenges
Solution · Single shared Postgres with tenant_id column on every table + Spring Security filter that enforces tenant scoping at query time. Theme + workflow config loaded per-tenant on login so each brand sees its own UI.
Outcome · One product can present distinct employer experiences while keeping organisation scope explicit in the service layer.
Solution · Built a workflow engine where each tenant gets configurable rule sets — shift length limits, OT triggers, vacation accrual rates — loaded from tenant config rather than hardcoded.
Outcome · Legitimate employer variation lives in configuration instead of spreading client-specific conditions through the codebase.
Solution · Generic approval-chain primitive + per-document-type chain definitions stored in tenant config (manager → HR → director, configurable per tenant). Signatures captured via inline pad with full audit trail (signer, IP, timestamp).
Outcome · Approval steps and signing records follow a visible, tenant-specific path with the actor and time retained for review.
I take on senior contract work for B2B platforms with tenant-scoped data, configurable workflows, and brand customisation.