Management of Appointments System (Gestion des Rendez Vous)

ismail talhaoui
4 min readMay 24


Management of Appointments System (Gestion de Rendez Vous)

I- Description

1- Problem :

CIMR has 11 agencies in different Moroccan cities and has plus 733 843 clients (Individual Person) ref1, and beside the corona impact and situation in Morocco also the limited number of advisors and working time so the need to manage the traffic in agencies reside and become obligation.

2- Solution :

website or web application where the CIMR clients (individuals and companies) and take an appointment with CIMR Agent to solve their problem or satisfy their needs, and for the Agents to have specific and known number of appointments for every day and can manage the resources and can expect the number of clients that will come in next days.

II- Architecture

Application architecture is composed of two parts the front end in a server exposed to the public it considered as Front office where the CIMR Clients can get appointments using their mobile or PC.

Private sever used has the Back office angular application where CIMR Agents can Login and process the appointments, get statistics per Time, per agency, per status per agent and get Historical data of the appointments of the client …, and Java Application as Back End connected with Front Office and Back Office with webservices plus Batch to cancel non processed appointments and send reports about day results.

Application Architecture

III- Tools/Framework

1- Back End

The Back end Part is of API which is developed as a Spring Boot application with multiple web services following an n-tier architecture (Presentation, Business , and infrastructure ).

The presentation layer consists of Controllers with Swagger definitions for each controller.

The business part includes the business logic and rules specified by the Product Owner and Business Analysts.

The infrastructure is responsible for communication with external services like SMS, database, and Amazon SMTP.

2- Front End

The front end of this project is divided into two applications: Front Office which accessible to the public, and Back office, which is accessible only through the local network.

Both applications were developed from scratch using Angular and various libraries such as google Map, pdfmake as one of the features includes generating appointment resumes in PDF format for clients to print. For UI components, we utilized ng-Zorro-ant

Additionally, both applications are responsive, achieved by implementing bootstrap 5.

3- Batch

the Batch layer take care of the batch treatment and we used Spring Batch.

more details in this Table :

tools / Frameworks

3- other Services and features

  • Amazon SMTP — Send Emails

One of the features expressed by the Product Owner (PO) is the ability to send emails to clients. These emails are related to their appointment informing about it (creation, confirmation, and cancellation …)

To effectively enable this feature, we utilized Amazon SMTP.

  • Send SMS To Clients

In addition to sending emails, the Product Owner (PO) requested to send SMS messages to Moroccan clients to confirm the appointment and provide them with more details. The process of sending SMS is implemented by consuming a Rest/SOAP web service provided by a service provider.

IV- Team

  • Developers

the project start with three developers me as senior Full Stack developer, i develop and supervise the dev team present the demo to the client and the meetings plus taking the communication with client , and two Junior developers one for front and other for back end

  • Testers

the testing team was composed of two testers who works with us daily on the project and test the different scenarios using different tools.

  • Business Analysts

business analyst roles was taking by two persons one of them work full time and the other just part time.

  • Product Owner .

V- Deployment and Numbers:

As mentioned before, the CIMR has 11 physical agencies located beyond the borders of Morocco.

During the first month after deploying our application, it was only available for users in Casablanca, the largest city in Morocco. After two weeks, we launched the application to the public.

In the first month, we handled 2,000 appointments with one agency. In the second month, we received an average of 300 appointments per day, and we currently receive 1,000 appointments per day, with an additional 5,000 daily active user.

VI- Picture from Project

1- Back Office

Home Page
Login Page

2- Front Office

Home Page
Appointment Form 1
Appointment Form 2
Resume of Appointment

VII- Visit web Site


· Ref:



ismail talhaoui

FullStack Developer, Problems Solver