cpu-byte / Medical-Appointment-System

Medical appointment booking system using Spring 🌱 and React ⚛️ with REST API.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Medical Appointment System

The developed system retains the structure of a common deployment scenario which includes backend and frontend systems. The user interacts with the front-end interface like website, which communicates with an REST API. The client has the ability to interact directly with the REST API.

Scope

Only a section of the system was implemented as specified in assignment discussion. The chosen section is specified below:

  • Login or Register
  • Update Client Details (including Medical Record)
  • Check Appointment Time-slot Availability
  • Book an Appointment
  • View and Update Appointment (including Notes)

Some changes needed to be made to facilitate the partly implemented system, which included no room or practitioner allocation, or any treatment or payment resolve. Core to the partly implemented system is appointment booking which includes client login and registration, availability check, etc.

Implementation

Routes are REST API endpoints the users can visit. Each route is configured in controllers which act like services. Each service access the JPA data repository which holds model instances, e.g. Client.java which holds fields like ID, name, etc.

React and WildFly have been designated as the front-end and back-end of the system. While I have used React to build the front-end, Spring was used as the back-end interface.

The intended language to interact with the frameworks has been used for the implementation: JavaScript for React, and Java for Spring. To deploy these systems, I have used two different providers. Google Cloud Platform has a sub-service offering named Firebase which is intended to be used for projects with less complex requirements as it is mostly fully managed, alike PaaS paradigm. Heroku is a service provided by Salesforce which allows upload of artefacts like compiled .jar or similar.

Deployment

The frontend is setup with Firebase which hosts the contents of the /build/ folder after running npm run build in the terminal. During initial setup, the deployment to Firebase specified details like if it is a single- page application, and what folder to host. Every update to the website now simply requires one command when inside the main project directory. The deployment to the backend requires the project to be pushed into a git Heroku repository. The backend has API routes which can be used for frontend use cases. However, I have added a .html landing page for the root backend, in addition to the /info route. Please refer to the source code section to see the code behind these responses.

About

Medical appointment booking system using Spring 🌱 and React ⚛️ with REST API.

License:MIT License


Languages

Language:JavaScript 62.2%Language:Java 31.3%Language:HTML 6.4%