This repository contains the source code and UML diagrams for a software engineering project. The project aims to develop a software application or system using software engineering principles and practice.
Project 1: Medical Clinic
Description: The business goal of the project is to provide the User with the possibility of contacting a medical clinic to arrange a visit/medical consultation in a way that does not require telephone contact with the clinic. This will reduce the number of calls, which will shorten the waiting time for a connection with a clinic employee and will also increase the quality of services provided. Aim is to make diagrams to understand the system better.
1. Glossary of Terms
| Concept | Description |
|---|---|
| User | A customer with a profile in the application. |
| Receptionist | The person responsible for handling the application on the Administrator's side. |
| Administrator | The entity that owns the application. |
| Chat | Functionality for electronic communication between the User and the Administrator. |
| Ticket | Commissioned task to be performed for the Registrar. |
2. The functional scope of the application for the User
The solution assumes the provision of a mobile application. The application will be available for Android and iOS, in the versions currently supported by the Google Play and AppStore distribution platforms. After installing the application, the user is registered by providing:
- first name, last name,
- phone number,
- password (repeated).
Registration requires confirmation of the email address by sending an authorization code to the indicated address. The user is finally registered by entering the correct code from the email received. Login is done using an email address and password. After logging in to which, the user will be able to contact a Receptionist via the "Chat" functionality in order to arrange a visit/consultation without having to contact the clinic by phone. In case of forgetting the password, the User may request a new password using the “I forgot my password”.
2.1 User Profile
The user's profile shows his name, surname, ID/PESEL number, contact details such as telephone number and e-mail address, the preferred form of contact and the ability to change the password. You can also add a profile picture.
2.2 Menu tab
The menu of the User app also includes sections such as:
- How it's working? - it contains the most frequently asked questions about the application along with the answers to them,
- Contact - contains the Administrator's contact details (telephone number, e-mail address)
- Settings - includes access to the "Delete account" tab (where the User can delete an account created in the application), "About the application" (application software version and number), and links to the Regulations and the Administrator's Privacy Policy.
3. The functional scope of the administrator application.
The solution assumes making the administration application available as a Web application. The application can be used by persons - receptionists who register themselves in advance and the system administrator activates their accounts.
3.1 Authentication model
Logging in - the process of authentication and authorization of the Receptionist, consisting in providing the Registrar's ID and authentication password to gain access to use the Application. Password reminder - functionality that allows you to set a new password for the application in case of its loss
3.2 Request list
After logging in, the Registrar has access to the list of conversations with the Users. The list can be filtered by the following status:
- Active - a list of notifications not assigned to any Registrar and taken by all Registrars.
- Mine - a list of notifications taken by the logged-in Registrar.
- Taken - a list of requests taken by all Receptionists.
- Not picked up - list of requests waiting to be picked up (not assigned to any Registrar).
After selecting a single conversation (clicking on a conversation in the list), the current conversation content with the Patient will be displayed in the right part of the screen in the form of a "chat", where the Receptionist can read messages from the Patient and write messages to the Patient himself.
3.2 Assigning Tickets
After selecting the notification, the ticket is automatically assigned to the Receptionist and given the ability to manage it in the menu. If another Receptionist selects an application and then writes a message to the Patient, this will result in assigning the Application to a given Receptionist.
3.3 Closing a ticket
The Receptionist conducting the conversation with the Patient, after completing the activities related to the user’s request, may close the ticket by clicking on the “Close” button. In the view of the User's mobile application, a fragment of the conversation will be graphically separated from other messages.
Spring Boot Admin project includes details about the logical and physical architecture, along with class and system dynamic diagrams. These diagrams provide a thorough understanding of the project's structure and behavior.