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.
- Handles various requests for scheduling/booking/cancelling slots
- Provides slots availability
- provides specialists availability of any day
This microservice is built on Java, Spring boot framework and MySQL DB.
- JDK 17
- Wildfly (or any compatible app server)
- Redis
- MySQL Database
- Maven
To install the MMU module, please follow these steps:
- Clone the repository to your local machine.
- Install the dependencies and build the module:
- Run the command
mvn clean install
.
- Run the command
- You can copy
common_example.properties
tocommon_local.properties
and edit the file accordingly. The file is undersrc/main/environment
folder. - Run the development server:
- Start the Redis server.
- Run the command
mvn spring-boot:run -DENV_VAR=local
.
- Open your browser and access
http://localhost:8080/swagger-ui.html#!/
to view the Swagger API documentation.
All features have been exposed as REST endpoints. Refer to the SWAGGER API specification for details.
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:
- Node.js (v14 or later)
- npm (comes with Node.js)
- Install Node.js and npm
- Download and install from nodejs.org
- Verify installation with:
node --version npm --version
- Install dependencies
- From the project root directory, run:
npm ci
- This will install all required dependencies including Husky and commitlint
- From the project root directory, run:
- Verify hooks installation
- The hooks should be automatically installed by Husky
- You can verify by checking if the
.husky
directory contains executable hooks
This project follows a specific commit message format:
- Format:
type(scope): subject
- Example:
feat(login): add remember me functionality
Types include: feat
: A new featurefix
: A bug fixdocs
: Documentation changesstyle
: Code style changes (formatting, etc.)refactor
: Code changes that neither fix bugs nor add featuresperf
: Performance improvementstest
: Adding or fixing testsbuild
: Changes to build process or toolsci
: Changes to CI configurationchore
: Other changes (e.g., maintenance tasks, dependencies) Your commit messages will be automatically validated when you commit, ensuring project consistency.
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.
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.