This project represented my bachelor thesis for graduating the "Babes-Bolyai" University in Cluj-Napoca. Covering all the details in a single blog post would be impractical. Therefore, please find below the abstract of the paper and the paper itself.
As technology becomes more advanced each day, its potential of aiding mankind in long-lasting problems grows. In Romania, one area in which software solutions are not yet widespread is the healthcare sector. This thesis seeks to map out the details of implementing a full-stack application suite tasked with enhancing the blood donation process through encapsulating the blood’s whole journey, from donor to patient.
The software product achieves this goal by providing all actors involved with an application through which they can interact with the system. Doctors, responsible with handling patients and forwarding blood requests, together with Donation Center Personnel, who take care of blood harvesting and distribution, access the system via a web application. At their disposal is also an innovative system of managing blood requests, allowing for a more dynamic collaboration between donation centres. Donors, requiring more flexibility, can book donation appointments and view blood test results through an iOS application. The client applications receive the required information from a server API.
The paper first outlines the theoretical knowledge required for the development of the applications. Information about RESTful APIs, Token Authorisation and the Spring Framework were required for developing the server application. The Angular 2 Framework and its particularities are introduced, together with the basics of developing an application on iOS.
Secondly, the thesis will present the process of implementing the three software products introduced earlier. An analysis of the architecture and the domain model of the server application is laid out. The aspects of managing multiple users and restricting features are covered for the Angular 2 Framework. Implementing and managing multiple application versions, together with continuous integration and UI tests are presented for the iOS platform.
Finally, the outcomes of the project will be discussed, the implemented software application will be evaluated and possible improvements will be outlined.