0% found this document useful (0 votes)
48 views2 pages

SmartBooker Project

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views2 pages

SmartBooker Project

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Abstract: Smart Appointment Scheduler for Local Services

This project aims to develop a full-stack web application named 'SmartBookr' which
allows small service providers such as salons, clinics, tuition classes, and auto
garages to manage their appointments digitally. Customers can browse available
service providers, view their profiles, and book, reschedule, or cancel appointments.
Service providers can manage their time slots, availability, and customer
interactions. The application is developed using Spring Boot for the backend and
Angular for the frontend, with PostgreSQL as the database.

Key Features
1. User authentication and authorization using JWT.
2. Role-based access for Customers and Service Providers.
3. Service listing and availability management by providers.
4. Appointment booking, cancellation, and rescheduling by customers.
5. Customer reviews and ratings for services.
6. Admin dashboard for managing users and reviews (advanced).
7. Notification system (advanced).

Technology Stack
Backend: Spring Boot, Spring Security, Spring Data JPA or JdbcTemplate
Frontend: Angular with Angular Material
Database: PostgreSQL
Build Tools: Maven (Backend), Angular CLI (Frontend)

Database Design
The following is the database schema along with PostgreSQL queries to create
tables:

CREATE TABLE users (


id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
role VARCHAR(50) NOT NULL
);

CREATE TABLE providers (

id SERIAL PRIMARY KEY,


user_id INTEGER UNIQUE REFERENCES users(id),

service_type VARCHAR(100),

location VARCHAR(100),

working_hours TEXT

);

CREATE TABLE services (


id SERIAL PRIMARY KEY,
provider_id INTEGER REFERENCES providers(id),
name VARCHAR(100),
duration INTEGER,
price DECIMAL(10,2)
);

CREATE TABLE appointments (


id SERIAL PRIMARY KEY,
service_id INTEGER REFERENCES services(id),
customer_id INTEGER REFERENCES users(id),
date_time TIMESTAMP,
status VARCHAR(50)
);

CREATE TABLE reviews (


id SERIAL PRIMARY KEY,
appointment_id INTEGER REFERENCES appointments(id),
rating INTEGER CHECK (rating BETWEEN 1 AND 5),
comment TEXT
);

You might also like