ERP Application – Spring Boot & Angular
As part of my final engineering project (PFE) and professional experience, I designed and developed a complete Enterprise Resource Planning (ERP) system using Spring Boot (Java) for the backend and Angular for the frontend. The goal was to digitalize and streamline company processes across sales, finance, distribution, and license management.
Key Responsibilities & Tasks I Completed:
Backend (Spring Boot – Java 17)
Designed and implemented the domain model (entities: User, Role, Client, Devis, SalesOrder, PurchaseOrder, Licence, Fournisseur, ActivationLog).
Built secure REST APIs with Spring Security and JWT authentication.
Developed business workflows:
From Formulaire de besoin → Devis → Sales Order → Purchase Order.
Automated license activation and logging via ActivationLog.
Integrated email verification for account signup & activation (SMTP, Gmail app password).
Implemented supplier ranking logic using a FastAPI microservice connected to the ERP.
Set up role-based access control (ADMIN, SALES, FINANCE, USER).
Frontend (Angular 20+)
Developed a responsive UI with Angular Material & SCSS theming.
Built authentication module (signup, login, forgot password, JWT storage with interceptors).
Implemented ERP dashboards for sales and finance departments.
Created search & filter features (e.g., licences by SKU, devis by client).
Integrated API calls with Angular services & guards for secure routing.
DevOps & Project Management
Containerized backend & frontend with Docker.
Created a GitHub Actions pipeline (CI for tests + CD for builds & deployments).
Used Git & GitHub for version control and branch strategy (feature/develop/main).
Results & Outcomes
Delivered a working full-stack ERP system aligned with business needs.
Improved traceability (activation logs, workflow states).
Provided secure multi-role access and email verification.
Automated deployment with CI/CD pipeline.