15/04/2021 - Present
TR03 Management Services
Project Type - Web Application
Visit WebsitePurpose of the project
The company needed an up to date process for managing their subcontractors invoices as well as the invoices that they sent out to their clients.
A decision was made to merge all of the needed functionality into a single application that would allow the client complete control over both incoming and outgoing invoices.
It was vital to make sure that the new way subcontractors would have to submit their shifts was as easy as possible so that the transition between offline and online happened smoothly.
Technologies used
Node JS
Express JS
Mongo DB
HTML5
CSS3
JavaScript
PWA
Key Feature Links
Key Features
Three Tiered Application
Even though this application has a single entry point it branches off to different locations depending on who logs in. Each tier of the app has its own purpose and together they seamlessly work together to collate the information within so that every user has access to what they need
This also works in the opposite direction and ensures that a user does not have access to information that they do not have privileges for.
Modular Permission System
To future proof the application and to restrict access to the most sensitive parts of the application a permission system was installed. Every time a page or resource is attempted to be accessed a permission check occurs first, allowing only those with the correct permission level access.
A standard role system was not used because it was not a fluid enough solution, each unique admin needed a certain combination of permissions which would have meant creating a near 1-1 relationship between role and admin.
Using this new system also allowed the ability for a super admin, someone with the permission to change permissions, to temporarily grant a higher level of access to an individual for a period of time if needed.
3 Step Process
To make sure that the subcontractors could easily submit their shifts through the app we had to make sure to make it as simple as possible. This gave birth to the idea of a 3 step process.
First, choose the day, second choose the role and finally enter the relevant information. There are different types of work role each with a type of work rate, the information needed was dependant on these things.
Regardless of the type of rate though the subcontractor has to enter as little information as possible. If they worked an hourly rate, how many hours did they work? If it is a fixed day rate, did they work that day? Once the app has this information everything else is completed for them.
Everything was built with the end user in mind.
Log System
Due to the nature of the permission system it was not always clear which action had been performed by which user. This resulted in a log system being added to keep track of the events happening within the application and who performed that action and when.
Screenshots unavailable as the contents contains sensitive data
Periodic Reports
The application allows for the collation and extraction of data in a few forms, the first is the reports that it can make. Provide a start and end date and the app will publish the necessary information into a downloadable PDF.
Reports can be made at a company level and on a more modular scale, with the ability to pick and choose the subcontractors data that the client wishes to add.
Export information as PDF
Along with reports all invoices can be exported as a PDF for easy record keeping. All users have access to the relevant invoices, and their data, at all times.
Bi-lingual
The application had to be available in both English and Romanian, with the option to switch the language at any time.