8000 GitHub - ravishanigarapu/Scheduler-API: Service that exposes REST endpoints to schedule consultation with specialist doctors. Provides various features to publish available slots, cancel slots and day views for specialists
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Service that exposes REST endpoints to schedule consultation with specialist doctors. Provides various features to publish available slots, cancel slots and day views for specialists

License

Notifications You must be signed in to change notification settings

ravishanigarapu/Scheduler-API

 
 

Repository files navigation

AMRIT - Scheduler Service

License: GPL v3

It acts as an interface between client and the scheduling services provided, allowing users to interact for consultation with specialists. It also provides the info of availability and unavailability of specialists, retrieving available slots for specialists, booking and cancelling slots, and fetching day views of specialists for a particular specialization.

Features

  • Handles various requests for scheduling/booking/cancelling slots
  • Provides slots availability
  • provides specialists availability of any day

Building From Source

This microservice is built on Java, Spring boot framework and MySQL DB.

Prerequisites

  • JDK 17
  • Wildfly (or any compatible app server)
  • Redis
  • MySQL Database
  • Maven

Installation and setup

To install the MMU module, please follow these steps:

  1. Clone the repository to your local machine.
  2. Install the dependencies and build the module:
    • Run the command mvn clean install.
  3. You can copy common_example.properties to common_local.properties and edit the file accordingly. The file is under src/main/environment folder.
  4. Run the development server:
    • Start the Redis server.
    • Run the command mvn spring-boot:run -DENV_VAR=local.
  5. Open your browser and access http://localhost:8080/swagger-ui.html#!/ to view the Swagger API documentation.

Usage

All features have been exposed as REST endpoints. Refer to the SWAGGER API specification for details.

Setting Up Commit Hooks

This project uses Git hooks to enforce consistent code quality and commit message standards. Even though this is a Java project, the hooks are powered by Node.js. Follow these steps to set up the hooks locally:

Prerequisites

  • Node.js (v14 or later)
  • npm (comes with Node.js)

Setup Steps

  1. Install Node.js and npm
    • Download and install from nodejs.org
    • Verify installation with:
      node --version
      npm --version
      
  2. Install dependencies
    • From the project root directory, run:
      npm ci
      
    • This will install all required dependencies including Husky and commitlint
  3. Verify hooks installation
    • The hooks should be automatically installed by Husky
    • You can verify by checking if the .husky directory contains executable hooks

Commit Message Convention

This project follows a specific commit message format:

  • Format: type(scope): subject
  • Example: feat(login): add remember me functionality Types include:
  • feat: A new feature
  • fix: A bug fix
  • docs: Documentation changes
  • style: Code style changes (formatting, etc.)
  • refactor: Code changes that neither fix bugs nor add features
  • perf: Performance improvements
  • test: Adding or fixing tests
  • build: Changes to build process or tools
  • ci: Changes to CI configuration
  • chore: Other changes (e.g., maintenance tasks, dependencies) Your commit messages will be automatically validated when you commit, ensuring project consistency.

Filing Issues

If you encounter any issues, bugs, or have feature requests, please file them in the main AMRIT repository. Centralizing all feedback helps us streamline improvements and address concerns efficiently.

Join Our Community

We’d love to have you join our community discussions and get real-time support!
Join our Discord server to connect with contributors, ask questions, and stay updated.

About

Service that exposes REST endpoints to schedule consultation with specialist doctors. Provides various features to publish available slots, cancel slots and day views for specialists

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.4%
  • JavaScript 0.6%
0