Taner Şahin

TANER ŞAHİN

TANER ŞAHİN

profile-pic

Sharjah Toll Collection Management Web

This toll collection management panel project captures data from passing vehicles using various sensors. The raw sensor data is retrieved from partner company's backend. After performing necessary calculations and transformations, the data is mapped to appropriate models and exposed through our public APIs, and stored in the database.

When the our public APIs are invoked, a live dashboard powered by SignalR delivers real-time updates—providing push notifications, live device status monitoring, and instant visibility into transaction activity. It displays upcoming transactions and dynamically updates their statuses as they are processed. Users can filter transaction or export as excel for reporting purposes

These transactions are processed by our Transaction Windows services based on a set of business rules (Business rules are also configurable and can be changed dynamically through the public API). According to these rules, some transactions may be flagged as "Manual Validation Needed" when certain sensor data is missing, incomplete, or fails to accurately capture the passing vehicle. In such cases, an authenticated user must inspect the transaction details from panel and manually input the correct values. Once validated, the transaction is reprocessed by the Windows service and sent back to partner company's server for further processing for their needs.

A scheduled worker service also runs periodically to check the database for working hours. These working ours are configurable and can be changed dynamically through the public API. Based on this information, it automatically closes specific lanes—or even the entire plaza for vehicle passage when outside of operational hours.

Authentication and authorization are implemented using a combination of Single Sign-On (SSO) and custom login. Authenticated users are assigned predefined roles via SSO, which determine their access levels. Based on these role-based rulesets, users have limited or full access to certain pages and functionalities. This access control is enforced not only at the UI level but also across the APIs. On the other hand, the Windows services use special, non-expiring tokens to ensure uninterrupted operation 24/7.

For the UI, the partner company provided their desired designs via Figma. Using Angular with the Metronic theme, the required pages were developed to match these designs. All services and models in both the backend and frontend projects were built following n-tier architecture.

I successfully delivered this project at the Minimum Viable Product (MVP) stage


Using Technologies: Docker, Entity Framework, Asp.Net Core, Angular 18, Metronic Theme, Bootstrap, Windows Service, SQL



Image Gallery