🦠 SelfTest COVID-19

🚩 The Web Application
The SelfTest COVID-19 system is aimed at activating the relative booking of a swab at one of the pharmacies closest to the patient based on the test result, thus a simple service for managing swab bookings in pharmacies. The SelfTest is a model capable of predicting a certain probability of SARS-CoV-2 (COVID-19) infection based on the symptoms and/or diseases the patient manifests and guiding them on how to behave in case of a high probability of infection. For example, if the system predicts that patient X has a probability of infection between 75% and 100%, they will be advised to go to a testing center (pharmacy, etc.) and take a molecular swab. If the system predicts that patient Y has a probability of infection between 50% and 75%, they will be advised to take a rapid swab at the nearest pharmacy.
🏁 The system aims to reduce the number of people going to pharmacies to perform swabs in order to avoid service disruptions and to save on the cost of swabs for patients. How? By predicting the potential probability of COVID-19 and based on the obtained value, it can make a swab booking at the nearest pharmacy or not.
📋 Documentation
The complete documentation can be found at the following 🔗 link
- Introduction
- Design Start
- Development Process
- Requirements Analysis
- Software Architecture and Design
- Software Implementation
- Testing
- Software Release
- Use of the Software Product
🔧 Tools Used
FRONT END | TOOLS |
---|---|
FRAMEWORK | BOOTSTRAP |
LANGUAGE | HTML, CSS, JS |
BACK END | |
FRAMEWORK | FLASK |
LANGUAGE | PYTHON |
TESTING | PYTEST, LOCUST, GTMETRIX |
DATABASE | SQLITE |
TOOLS FOR SOFTWARE DEVELOPMENT SUPPORT | |
CODE | VISUAL STUDIO CODE |
UML DESIGN | VISUAL PARADIGM |
SCRUM SUPPORT | JIRA |
WEB HOSTING | PYTHONANYWHERE |
📈 System Context Diagram
The following diagram shows at a high level how external actors (the patient, the registered patient, the pharmacy, and the system admin) interact with the system. In particular, upon accessing the system, the patient is shown the ML Model form for predicting COVID19, where they will enter the symptoms and diseases they manifest, and the system will return the result. If the test result is between 50% and 75%, the patient will be automatically directed to the rapid swab booking system at the nearest pharmacy. If the result is greater than 75%, the patient will be automatically directed to the molecular swab booking system at the nearest pharmacy. By making the booking, the patient registers with the system, if they are not already registered, thus becoming a registered patient. The pharmacy will update the availability of rapid/molecular swabs and add the result of the swab performed on the patient. The system admin will update the list of pharmacies participating in the system. Additionally, they will update the ML model to improve result accuracy.

✏️ How the Test Works

📽️ Video Demo of the Web Application
The video demonstrates all the functionalities implemented in the web application, from performing the test to managing pharmacies participating in the system.
⚠️ ATTENTION The application developed is for demonstration purposes only, therefore the calculated probability may be uncertain since, as previously mentioned, the dataset is dated and not updated, and the symptoms of the virus change and vary every day. The symptoms, diseases, and information related to COVID19 entered in the self-test will not be stored.
✔️ The Web App is available, just a browser away!
You can try the web application at the following link 🔗 WebApp
Access Credentials
😎 ADMIN: username admin password admin
😀 PHARMACY: username donbosco@farmacia.it password prova1 (you can change the pharmacy by logging in as ADMIN)
The Authors
Project created for demonstration and educational purposes
This document aims to develop a software project for the Software Architecture Design exam (A.Y. 2021/2022) at the University of Naples Federico II.