It is a common practice for medical centers in the Netherlands to hire freelance doctors. This is what Waarneemapp promotes. Waarnemapp is an application that connects medical specialists and doctors to the medical center wishing to hire them.
The medical center publishes their vacancies or ads on the application, with details of wages, the type of specialist needed, the work to be done, schedules, shifts, and any other necessary information. Freelance doctors who already signed up on the app, respond to the opening that catches their attention.
The client needed us to work on the frontend of the web version and the native mobile application of the app. The frontend goal was to have an intuitive, attractive, and interactive design pleasing to users. The mobile application was designed to have the major functionalities of the application, so users have the same seamless experience on both desktop and mobile.
These are the users of the application - doctors and medical centers. The doctors can apply for vacancies, while the medical centers publish openings based on the type of doctors they want.
The company owner is the account of the medical center requiring the services of a medical specialist. They have major, exclusive functions on the application like the right to publish ads, vacancies, the creation of roles, and the ability to add people to the account. People who have been added to the account by the company owner can be assigned different roles and given different rights.
The company owner has the responsibility of attending to the replies given to an ad. He can accept or reject an application. When he does accept, he builds the schedule and shifts, which he shares with the other users added to the account.
The company manager role is a serious one and is given the right to perform the same duties as the company owner, like the publishing of vacancies and assigning roles within the application.
This is an administrative position. The admin can create a company account and manage it on behalf of the company. He can also add users to the company account.
Code refactoring was one of our major implementations. We rewrote the existing code for the frontend and mobile applications, but without changing its behavior. By refactoring the code, we improved the design, quality, structure, and implementation of the software to make it more efficient, maintainable, and readable but without changing its core functionality.
Rather than have users create multiple accounts, we implemented an SSO (Single Sign On) authentication for all the users using a custom service called Haweb. With this service, users only get to sign up once and access the platform and all of Haweb services and SaaS applications without re-entering new sign-up details.
We authenticated users using JWT (JSON Web Token) authentication. This ensures that every request to the server is verified for authenticity before the server responds.
Tokens have a short life cycle. They get expired and so authentication access gets cut off. The refresh token implementation ensures users’ sessions are updated and that a new token is given access, but without prompting the user to refresh the page.
We implemented working logic within the frontend. Each specialist user has a status attached to them which updates based on their connection with a vacancy. With this, a company owner can check if a particular user applied for a particular vacancy and their status on that application.
If the user applied but is yet to receive a response from the company, the status shows pending.
If the application has been approved, and the company owner and user have come to an agreement, it shows assigned.
A rejected status means that the company rejected the application of that user.
When a user cancels his application before it gets a response, the status shows canceled.
We designed a robust mobile version of the application that works on both iOS and Android. The logic and token features were implemented on it as well.
We refactored the code by rewriting and improving the quality of the existing code, but with the same major functionalities.
We wrote and created the features for the registration of clients, the creation of vacancies, the application of vacancies and the logic working on the frontend side that guides the interaction between the user and the company owner.
We transferred the authentication of the client to a custom service, Haweb. This way, clients can get authenticated once.
The super admin implementation that allows him to act on behalf of a company. He creates inner company shifts and also processes applications from specialists. He can also post ads that allow other users to join the company
We implemented a chat feature that allows specialists and company owners to chat privately.
We implemented a saved history section on the chat section with dates, that show a detailed timeline of a user's interaction or activities on a particular vacancy. This history shows when a user applied for a vacancy, the type of vacancy, the different status changes - if an application was accepted, rejected, or canceled, accompanied by the dates.
We built a robust native mobile application using mobile technologies like NuxtJs and Ionic Vue. This mobile application has the same functionalities as the web application. Users can move seamlessly from the web to mobile and still have the same experience and carry out the same functions.
The mobile comes with inbuilt core features like access to the phone's camera and gallery, necessary for photo upload. Users have the option of taking a photo right on the application or selecting from their gallery.
We also integrated push notifications to send users updates and messages notifications without the hassle of inbox messages.
When a doctor receives a link for the vacancy, even if it is on the web application, it is opened on the mobile application, saving users the time and energy to locate a particular page, and improving their experience.
Amazon. The deployment was on the customer side
Methodology of development
January 2021 - ongoing
1 Front end developer