Client Requirements
The Client wanted a platform where they could manage an organization, clients, and an admin portal. The Client is a UK-based healthcare specialist, having years of experience in the healthcare industry. They identified a gap in the session booking and specialist hiring. The client wanted to develop a platform where healthcare providers could publish the healthcare sessions in the hospital, and physicians could book those as per their availability.
Features -
User login through secure login credentials.
Managing sessions using the calendar
Booking tab for applying to sessions or seeing filters
After successfully working on the session, the Client can generate an invoice.
Practise Managers can pay using direct debit or bank transfer.
Challenge
The main problem was creating a scalable, user-friendly platform with all the necessary capabilities so clients and practice Managers could easily access them. The Client wanted us to create a REST API-based application and make the architecture loosely coupled. Since the platform involves sensitive data and interactions, ensuring proper security measures was crucial. We must implement authentication and authorization mechanisms to control access to various platform parts based on user roles and permissions.
Thinkitive Solution
Thinkitive understood the Client's concern and devised a solution to separate portals for the Client, practice managers, and administrators. We discussed the same with the Client. With all the functional requirements and non-functional requirements. We have created epics, stories, and all sub-tasks with all the acceptance criteria and test plans as per the Client's requirements, added estimation to the stories and shared them with the Client. The Client agreed to the solution and the flow we would have during the whole development process. We have decided to give releases incrementally to meet the deadline quickly. Thinktive delivered all the modules within the given timeframe to the Client and took responsibility for production deployment, the application's maintenance, bug fixes, and adding new functionality.
Dashboard:
-
The dashboard module includes all the essential information that needs patients' attention.
-
The main focus is the calendar, where clients and PMs can see their sessions.
-
On the PM side, they can publish a session by clicking on a date.
-
We also implemented presets so PM can easily create sessions with saved data.
-
Also, PM can create a session using drag-and-drop modules.
-
On the Client's side, they can view their applied, booked, or worked session under their calendar.
Booking:
-
Once PM publishes the session to fill the organization's requirements, they go to the booking tab on the client page.
-
From the booking tab, clients can apply for any sessions.
-
The Client can choose their favorite organizations.
-
They can filter sessions by various filter methods based on their preferences.
-
Once a client applies to any session, that goes to the PM for approval.
Invoice:
-
Once the PM approves any session for the Client, Clients can generate invoices for sessions afterward.
-
Clients can also apply for pensions.
-
If clients apply to sessions, they receive Form_a with pre-field data.
Pension:
-
Once the Client gets the form, they must get a sign from practice managers.
-
On the PM side, they can add a digital signature to form_a.
-
Once form_a is signed, the Client can view form_a from the signed tab.
-
On the first of the month, the Client gets Form_b with all Form_a attached from the previous month.
Payment:
-
The client needs to add bank details from the settings tab.
-
After successfully working on a session, clients get payment done by direct debit or bank transfer.
Chat:
-
For better communication, we implemented a real-time chat application with a socket
-
So the Client can send a message to the organization for any help.
-
On behalf of the organization, the PM gives a reply to clients.
Settings:
-
On the PM side, they can edit their user profile.
-
One PM can manage multiple organizations.
-
PM can add organizations from the settings tab.
-
They can turn on or off pensionable, Digital signature, and direct debit settings.
-
On the client side, they can add their Clinical documents for verification.
-
From the setting tab, clients can change their user information.
-
The Client can generate a yearly tax report from the settings tab.
-
Email preference setting: clients can turn on or off their email settings.
-
If the Client wants to delete their account, they can send a request to delete it.
-
Change passwords for both clients and PMs.
-
Two-step verification
Technologies and tools
-
Infrastructure: Cloud-based (AWS), SES, API Gateway, SNS, Lambda, S3, Cloudwatch, SQS, EC2.
-
Backend: Node Js
-
Frontend: React JS
-
Database: MySQL
Value Delivered
-
Client-Frontend: Created a user-friendly platform that covers all the required modules for the Client. The portal can be easily accessible to freelancers.
-
Practice-Manager-Frontend: Created a user-friendly platform covering all the modules for the Practise Manager. The portal can be easily accessible to organizations.
-
Admin-Frontend: Created a user-friendly platform that covers all the required modules for the administrator. The portal can be easily accessible to organizations.
-
Component-Based Architecture: As we have used React JS as our frontend technology, we can reuse the components within the application, which has increased the development speeds to a large extent.
-
Fast Rendering: Due to the main feature of React JS, which is the virtual DOM, the application's rendering is speeded up.
-
Performance: The Client has witnessed the advantages of using React on the frontend, which has increased the application's performance.
-
Heavy Server Load: We have used Node.js as a backend, so it efficiently handled the high server load.
Deployment Flow Diagram-