Challenge
A big enterprise company in the oil extraction industry needed a custom application to manage all their contractors. That included:
- 100% automatic generation of reports for accounting
- Ticket-based system to manage contractor tasks
- In-app messaging and commenting functionalities
- Dashboard for an overview of all tickets and their status
- Admin-specific interface to create, delete, lock, and update other accounts
Many other features were requested, but they are too specific to the client's business needs and, thus, confidential.
Solutions
The project was designed, developed, deployed, maintained, and iterated according to the client's needs.
In the frontend we used the latest version of Angular with all strict mode flags enabled for high compliance and a low chance of bugs. We also updated all project dependencies whenever new versions of Angular were released.
In the backend, we used Functional Programming with NodeJS and strict TypeScript. The HTTP framework of choice was Express but we made sure to isolate all handlers in definitive pure functions and avoid the use of middleware handlers in the core business logic to ensure type safety and provide a clearer codebase for future maintenance.
We also isolated the frontend and backend connection in a framework-agnostic library to modularize the frontend's responsibility solely for UI presentation. That way, the frontend doesn't need to care about how to talk to the backend. It simply uses a library that takes care of that complexity and ensures that all types are correct and updated.