Skip to content

Dentocrates is an online platform that simplifies the process of finding and booking dental services.

License

Notifications You must be signed in to change notification settings

RMNorbert/Dentocrates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dentocrates

Java Spring Boot Spring Security

Hibernate Liquibase PostgreSQL Docker OpenAPI 3

Python Flask PyTorch NumPy

TypeScript Java Script React MapBox GL JS

License: Unlicense Last Commit


Dentocrates

Table of content:


Description:

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.


Features

  • 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



Used technologies:

Backend

  • 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)

Frontend

  • TypeScript (on typescript branch)
  • JavaScript,
  • React,
  • MapBox GL JS

Database

  • Liquibase
  • PostgreSQL

Others

  • Docker (refactoring in progress on eureka branch),
  • CI/CD GitHub workflows
  • OpenApi (version 3.0)

Getting Started

Follow these instructions to get a copy of the Dentocrates project up and running on your local machine for development and testing purposes.


Prerequisites

To set up the project, follow these steps:

To deploy Dentocrates using Docker containers, 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.

After installing Docker:

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.


To run Dentocrates without using Docker:

Make sure you have the following dependencies installed before proceeding with the installation:

1. Java Development Kit (JDK):

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.

2. JDBC Database (e.g., PostgreSQL):

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.

3. In case of using Oauth:

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.


Installation:

Follow these instructions to get a copy of the Dentocrates project up and running on your local machine:

1. Clone the repository

git@github.com:RMNorbert/Dentocrates.git

2. To use the ChatBot

Clone the following repository as well : https://github.com/RMNorbert/ConvoCat and follow the instructions in it's Installation section.


3. To use the email sending services :

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

4. Set up the necessary environment variables and configure the database connection details.

Update the configuration files with the appropriate values.


Default Login Credentials

For quicker testing purposes, you can login to the application by using the following credentials:

Role Email 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

License

This project is licensed under the Unlicense License - see the License file for details.