Skip to content

Enables users to discover offerings and schedule interactions with service providers for tailored experiences.

Notifications You must be signed in to change notification settings

SvetlinDimitrov/Flow-Appointment-Scheduling

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Flow Appointment Scheduling

Project Presentation

Watch our project walkthrough: Project Video

Tech Stack

Front-End

  • Framework: React (18.3.1)
  • Routing: React Router DOM
  • State Management: React Query
  • UI Framework: MUI (Material-UI)
  • Styling: Emotion, Styled Components
  • Forms: React Hook Form, Zod
  • Visualization: React Chart.js 2
  • Calendar Integration: React Big Calendar
  • Mapping: React Leaflet
  • Notifications: React Toastify
  • HTTP Client: Axios
  • Date Handling: Luxon, Moment.js
  • Security: JWT Decode

Back-End

  • Language: Java 21
  • Framework: Spring Boot (3.3.2)
  • Data Access: Spring Data JPA
  • Database: MySQL
  • Database Migration: Flyway
  • Security: Spring Security, JWT (JSON Web Tokens)
  • Validation: Hibernate Validator
  • UI Template Engine: Thymeleaf
  • API Documentation: Springdoc OpenAPI
  • Mail Support: Spring Boot Starter Mail
  • Mapping: MapStruct
  • Password Policies: Passay

Additional Tools

  • Testing Frameworks: JUnit, GreenMail, Testcontainers
  • Build Tool: Maven
  • IDE Helpers: Lombok
  • Build and Development: Vite, ESLint, TypeScript

How to Run the App

To start the application, ensure you have Docker and Docker Compose installed on your machine. Follow these steps:

  1. Run Docker Compose:

    docker-compose up -d
    
  2. Access the Application:

  3. Pre-Seeded Users:

    The application is initialized with pre-seeded users for testing and development purposes. The default password for each user is Password123!.

    • Staff Users:
      staff1@flow.com to staff10@flow.com

    • Client Users:
      client1@abv.bg to client20@abv.bg

    • Admin Users:
      admin1@flow.com, admin2@flow.com, admin3@flow.com

    Use the above emails with the password Password123! to log in and explore the application.

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •