Skip to content
LogoAhmed Gafsi
← All projects

Enterprise · Final-year project

WeBIAT

New modules delivered inside an existing enterprise banking backoffice: a dynamic form builder, career management, and a travel-expense approval workflow.

Year
2026
Role
Software Engineering Intern (PFE)
Collaboration
Cross-functional Scrum team at Value Digital Services
Main stack
AngularNgRxPrimeNGSpring BootAzure AKS

Project gallery

1 / 3

Placeholder preview — not an actual project screenshot.

Sanitized conceptual diagram — not the production architecture. Screens and internal details are confidential; only sanitized diagrams are shown.

01

Overview

WeBIAT is the internal backoffice platform of BIAT, a Tunisian bank. My final-year engineering project consisted of delivering new modules within this existing platform, which already ran on a microservices architecture.

The work served HR and internal staff who needed configurable interview forms, career tracking, and a structured way to request and approve inter-regional travel expenses.

02

My contribution

  • Developed frontend modules with Angular, NgRx, and PrimeNG, backed by Spring Boot services.
  • Built a dynamic Form Builder for creating and publishing custom interview forms.
  • Contributed to career management functionality.
  • Built an inter-regional travel expense module with hierarchical approval workflow, request tracking, and Azure Blob Storage document handling.
  • Participated in Scrum ceremonies, Jira backlog management, task estimation, and delivery-quality practices.

03

Key features

Dynamic Form Builder

HR staff compose interview forms from configurable field types, then publish them without a code change — removing the need to hard-code each new form.

Hierarchical approval workflow

Travel expense requests move through successive approval levels, with each step tracked so requesters and managers can see where a request stands.

Document handling

Supporting documents are stored in Azure Blob Storage and linked to their requests, keeping files out of the relational database.

04

Architecture & decisions

  • Modules were added to an existing microservices platform; the overall architecture was not designed by me.
  • NgRx keeps complex form and workflow state predictable across screens.
  • Builds pass through Jenkins and SonarQube quality gates before deployment to Kubernetes on Azure AKS.

05

Challenges & solutions

Representing arbitrary form schemas
Modelled forms as structured definitions rendered at runtime, so new forms are data, not code.
Working inside an established codebase
Followed existing conventions, service boundaries, and quality gates rather than introducing parallel patterns.

06

Results & learnings

  • Delivering features inside a regulated, enterprise environment with real quality gates.
  • Engineering PFE defended with distinction: Très Bien, 17.5/20.

07

Technology stack

Frontend
AngularNgRxPrimeNG
Backend
Spring BootMySQL
Auth
Keycloak
Cloud & delivery
Azure AKSKubernetesAzure Blob StorageJenkinsSonarQube