luma-eng-interview-xingcheng-sun

1.0.1 • Public • Published

Synopsis

A busy hospital has a list of dates that a doctor is available to see patients. Their process is manual and error prone leading to overbooking. They also have a hard time visualizing all of the available time for a doctor for specific dates.

REST API

Implement the following functionality:

  • Find a doctor's working hours
  • Book an doctor opening
  • Create and update the list of doctor's working hours

API Reference

  • Find a doctor's working hours
URL: /:doctorId/:date  
METHOD: GET 
PARAMS:
a. doctorId
b. date
  • Book an doctor opening
URL: /:patientId/create/
METHOD: POST
PARAMS:
a. doctorId
b. date
c. duration
  • Create and update the list of doctor's working hours
# Create a working hour
URL: '/:doctorId/create/'
METHOD: POST  
PARAMS:
a. doctorId
b. date
c. duration

# Delete a working hour
URL: '/:doctorId/delete/'
METHOD: DELETE
PARAMS:
a. doctorId
b. date
c. duration

Installation

npm i luma-eng-interview-xingcheng-sun -S

Configuration

How to Configure

This library is using MongoDB(mLab) as database so the configuration can be loaded from an external configure file called config.json. Sample config shows below.

# DATABASE CONFIG
{
    DB_URI: YOUR_MONGODB_URI,
    USERNAME: YOUR_MONGODB_USERNAME,
    PASSWORD: YOUR_MONGODB_PASSWORD
}

How to Use

# In your project's app.js
app = require('luma-eng-interview-xingcheng-sun');


const PORT = 8081;
app.listen(PORT, "0.0.0.0");
console.log("We are live on " + PORT);

Tests

1. How to Test

npm test

2. Test case

Test case

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.1
    1
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 1.0.1
    1
  • 1.0.0
    0
  • 0.1.1
    0
  • 0.1.0
    0

Package Sidebar

Install

npm i luma-eng-interview-xingcheng-sun

Weekly Downloads

1

Version

1.0.1

License

ISC

Unpacked Size

19.1 kB

Total Files

11

Last publish

Collaborators

  • sxc562586657