Dynamic BI Dashboard for LYNX-ERP
- Date : 2024
- Web Development
- Completed
Built a customizable BI dashboard for an ERP: drag-and-drop widgets, an interactive client map and sales and purchasing reports, in FR/AR/EN with light and dark themes.
Overview
Bachelor’s final-year project in Software Engineering & Information Systems (ESPIN), carried out at Lynx-ERP Solutions in Sfax, Tunisia, in 2024.
Lynx-ERP Solutions builds ERP and CRM web applications. I built a customizable business-intelligence dashboard so that business users can follow their key indicators without asking developers for a new report each time: widgets they add, edit, rearrange and delete (charts, tables, funnels, bullet charts), an interactive client map and a sales and purchasing reporting module, in French, Arabic and English with light and dark themes.
Key figures
- Scrum sprints
- 3
- Scrum sprints
- weeks of development
- ~11
- weeks of development
- interface languages (FR/AR/EN)
- 3
- interface languages (FR/AR/EN)
Technologies
Problem
Lynx-ERP Solutions needed a flexible decision-support layer so that business users could monitor their key indicators without asking developers for a new report each time.
Solution
A full-stack module on a three-tier architecture: an Angular front end, a REST API in ASP.NET/C# with Entity Framework, and a SQL Server database. The work was organized into three Scrum sprints over about 11 weeks: configurable dashboard, client geolocation map, then sales and purchasing reports.
My contribution
Modeled the system in UML (use case, sequence and class diagrams), documented the APIs with Swagger, generated the Angular API clients with NSwag and tested the endpoints with Postman. Versioned the code with SVN, tracked tasks in Trello, deployed to IIS, and wrote integration tutorials for Leaflet, Gridster, NSwag and IIS deployment.
Features
- Configurable dashboard: drag-and-drop widget grid (Gridster) to create, configure, resize and delete line, pie, bullet and funnel charts and data tables
- Widget settings stored through dedicated CRUD APIs; printable charts
- Client geolocation map (Leaflet): clients shown from their GPS data, info pop-ups, search and filtering by address
- Sales and purchasing reports: SQL views aggregated by day and month feeding DevExtreme charts (sales vs purchases, cash inflows vs outflows, collections by sales rep and warehouse), filtered by date and year
- French, Arabic (right to left) and English, with light and dark modes
