Giter Site home page Giter Site logo

doctorbooking's Introduction

Appointment booking application

This application is a rest api allowing to book doctor appointments. Its main goal is to exercise what we've already learned about Hibernate and REST and put it into practice. The architecture and more in-depth description is available on allaroundJava blog.

User Stories

This is a set of user stories characterizing each application version. No application roles are assumed to exist, therefore user stories are all written from a perspective of a "user".

Version 1.0 is a simple service infrastructure for adding meeting slots and booking appointments. Here are the stories:

  • As user I can add a Doctor

  • As a user I can add a Patient

  • As user I can add a period in which doctor is available for a visit Acceptance Criteria:

    • Each meeting slot has a start and an end time
    • It's ok if doctor has overlapping meeting slots
  • As patient I can Book given doctor at a given time Acceptance Criterias:

    • Only available slot can be booked
    • When slot is booked an appointment is registered
    • When slot is booked, the slot is marked as removed *

Version 0.1 code is available in version-0.1 branch.

The important aspects of the application

Here are some of the important features/frameworks which were exercised in the app:

Unit testing REST Controllers

You can find REST Controllers with MockMvc standaloneSetup described in this article. The Unit tests can be found here

REST Controller Integration Testing

REST Controller integration testing with @SpringBootTest is described right here on allAroundJavaBlog. The integration tests themselves can be found here

Designing a REST API with Api First approach and Swagger

The Full process of using Open Api YAML file with swagger codegen maven plugin is described in this article The YAML file can be found here The .pom file setup can be found here in the code

Running the application

After you clone the source code from Github, go into the main application folder called DoctorBooking and run maven install to generate an executable jar.

mvn clean install

Run the jar file with

$ java -jar DoctorBookingApplication/target/DoctorBooking-Application-1.0-SNAPSHOT-exec.jar

Visit the Swagger UI page to test the API

http://localhost:8080/api/swagger-ui.html

doctorbooking's People

Contributors

adamallaround avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.