medical-appointment-scheduling-server icon indicating copy to clipboard operation
medical-appointment-scheduling-server copied to clipboard

NodeJS-driven backend for medical-appointment-scheduling

medical-appointment-scheduling-server

Greenkeeper badge Build Status Join the chat at https://gitter.im/sebastianhaas/medical-appointment-scheduling Dependency Status Node Security Platform

This is a backend for sebastianhaas/medical-appointment-scheduling built with loopback (express).

Features

  • Actively maintained
  • Provides data models required for sebastianhaas/medical-appointment-scheduling
  • REST API
  • including a web-based API explorer mounted at http://0.0.0.0:3000/explorer
  • produces swagger API defintion
  • WebSocket for CTI (Computer Telephony Integration) support using CantyCTI
  • Unit tested
  • Rich test data generation

Local setup

Clone this repository and run

$ npm install

with a postgres database set up according to the datasources.json config file running, start the server using

$ npm start

You might want to set up a dummy mail server for Email notification to work locally. Configuration can be found in datasources.json.

Browse to http://localhost:3000/explorer to take a look on the API using the explorer. Test data can be added using the respective endpoints:

# Start with:
post /Examinations/insertTestData
post /Patients/insertTestData
post /Rooms/insertTestData

# Afterwards:
post /appointments/generateRandomAppointments 

# And finally:
post /Attendances/generateRandomAttendances

Some of these endpoints have an optional locale parameter to generate test data appropriate for a specific locale (currently only de and en). Just use the API explorer to find out about it.

Demo application

The latest master of this repository is always published to Heroku. You can either use the API directly, browse the API explorer or take a look through the frontend.

Due to the limitations of Heroku's free dynos and database service, it might take a while for the application to load initially. Also, there is a 10k row limit for free databases. Sometimes you might have to wipe test data other users created before being able to add new content.