Full Stack MERN Web Application
Project goal
Introduction:
In this case study, we will explore the process of developing a web based platform for Jitera, “low-code” platform that builds fast software apps. The goal was to provide a web based platform for an organization to perform background screening of individuals through reference checks from different stakeholders.
Client Background:
JITERA is a software business partner in Singapore and Japan that makes software to automate the development of mobile and web applications. They provide the ultimate low-code solution that improves the development efficiency of software engineers by enabling them to develop faster and quality applications.
Challenge:
The client’s previous website was missing functionality to perform background screening of individuals through reference checks from different stakeholders. I had to propose and implement a way to allow the investigation of new applicants to the client’s website.
Skills and deliverables:
Typescript, Node, Expressjs, Nestjs, Postgres, Git, Docker, Kubernetes, AWS, Microservices.
Solution:
I implemented the solutions to the above problems for Jitera as:
- Implemented microservice architecture to break down the system’s functionality into separate services, including authentication, user management, company registration, inquiry creation, and responses handling in Node.js.
- Designed and implemented the “Auth” service to handle authentication and authorization for different user roles, such as Admin, Investigator, and Client.
- Implemented two types of notification systems, UI notifications, and emails, to provide updates and alerts to users at various stages of the investigation process.
- Ensured data security and privacy by implementing appropriate access controls and encryption mechanisms.
- Contributed to system testing and debugging, resolving issues promptly to ensure a reliable and stable application.
- Followed best practices in software development, adhering to coding standards, version control(github), and documentation.
- Results:
All of the above complex features were implemented carefully to allow Jitera to perform detailed investigation. Complete investigation functionality is as follow:
Main functionality of Admin/Investigator users and referee.
The admin and investigator users are administrator users in the main systems, respectively. The administrator is a super user with unrestricted access, while the investigator user has some limitations. They register new client companies in Jitera’s system.
Referee is the outsider which performs investigation tasks of the applicant inquiry. Investigator who is incharge of the investigation creates a new referee with email and a watchword. For every applicant inquiry request there will be a unique referee.
Upon receipt of an applicant inquiry request from a client user containing all the relevant details and attachments, an Investigator/Admin user(Incharge of investigation) in the Jitera’s system that proceeds to complete the request to referee form using the information provided by the client user. The applicant inquiry request is subsequently forwarded to the designated referee. Referee user opens request to referee form by providing email and watchword. After completing the investigation, the referee user fills out the answer response form of the referee with details and attachments and send the answer response form to investigator user. Investigator user output the answer response form to client user.
Conclusion:
Implemented microservice architecture in the backend using NodeJS and NestJS where the functionality of the system is broken down into the following services:
- Auth
Deals with the Authentication and Authorization
- User
Create, Retrieve, Update and Delete user Admin, Investigator and Client.
- Company
Investigator/Admin can register new Company(organization to investigate new applicants) by providing company information.
- Inquiry
Client’s user associated with the Company(organization to investigate new applicants) create applicant inquiry requests by providing applicant data.
Responses
- Investigator (incharge of investigation) user create initial response and send the response request to the referee.
- Referee receives the response request, investigates tasks and sends the answer response form to the investigator. Investigator user output answer response form to Client.
Let's get started on your project!
We bring smart ideas to life with future-ready solutions. Discover your passion and
celebrate achievements with us.