Dentocrates is an online platform that simplifies the process of finding and booking dental services.
The application is created using Java, Spring, PostgreSQL, and React, providing a seamless and user-friendly web experience. The website enables users to create an account, search for dentists in their area, view available appointments, book appointments, leave reviews about clinics they visited, plan routes for clinics on a map, and get basic information from a chatbot with switchable response styles. Additionally, registered dentists can register their clinics and locations, manage appointments and leaves.
-
Registration and Authentication for users and dentists
-
Clinic Registration and Management
-
Search for Dentists and Clinics
-
Appointment Booking and Management for users and clinics
-
2FA & Notifications & Verifications
-
Chatbot
-
Reviews & Ratings
-
Interactive map with route planning to clinics
-
User logins stored, notification sent upon suspicious login or login attempts
- Java (version 17.0.7),
- Spring Boot (version 3.1.0),Spring Security (version 3.1.0), JWT, Actuator, Webflux
- JPA Hibernate (version 3.1.0),
- Lombok,
- OAuth 2.0
- JavaMail & Gmail API
- Python
- Flask
- Spring Cloud Netflix, Spring Cloud Gateway (in progress on eureka branch)
- TypeScript (on typescript branch)
- JavaScript,
- React,
- MapBox GL JS
- Liquibase
- PostgreSQL
- Docker (refactoring in progress on eureka branch),
- CI/CD GitHub workflows
- OpenApi (version 3.0)
Follow these instructions to get a copy of the Dentocrates project up and running on your local machine for development and testing purposes.
To set up the project, follow these steps:
For Linux: Follow the instructions on the official Docker website.
For Windows or macOS: Install Docker Desktop for an easy-to-use Docker environment.
Ensure it's running by opening a terminal or command prompt and running the command
docker --version
Note: Docker is optional and recommended for deployment scenarios. If you're using Docker, it can help manage dependencies and ensure consistent environments.
Make sure you have the following dependencies installed before proceeding with the installation:
Ensure that you have the Java Development Kit installed on your machine. You can download the JDK from the Oracle website and install it according to the provided instructions.
In order to use a JDBC database with the application, such as PostgreSQL, make sure you have the necessary database server installed on your system. You can download and install PostgreSQL from the official PostgreSQL website and configure it as required.
To use Google’s OAuth 2.0 authentication system for login, you must set up a project in the Google API Console and obtain OAuth 2.0 credentials.
Follow these instructions to get a copy of the Dentocrates project up and running on your local machine:
git@github.com:RMNorbert/Dentocrates.git
Clone the following repository as well : https://github.com/RMNorbert/ConvoCat and follow the instructions in it's Installation section.
Create a project and an OAuth 2.0 Client ID on Google Cloud APIs & Services Credentials page by clicking on the CREATE CREDENTIALS button use OAUTH client ID choose the Desktop app and then dowload the json file place it in the following directory:
src/main/resources/
Then copy the full file name, including the ".json" extension and paste it as a value to the resourcePath variable. Which is located in the following directory on the 49th line:
src/main/java/service/client/communicationServices/GMailerService
Update the configuration files with the appropriate values.
For quicker testing purposes, you can login to the application by using the following credentials:
Role | Password | Verification code 1 | Verification code 2 | Verification code 3 | |
---|---|---|---|---|---|
Customer | test@email.com |
password | vc123450 | vc123451 | vc123452 |
Dentist | dentist@email.com |
password | vc123453 | vc123454 | vc123455 |
This project is licensed under the Unlicense License - see the License file for details.