
This is a Spring Boot Web Application to manage and schedule appointments between providers and customers. It has many features such as automatic invoicing, email notifications, appointments cancelation, providers individual working plans with brakes etc.
admin admin qwerty123 provider provider qwerty123 corporate customer customer_c qwerty123 retail customer customer_r qwerty123src/main/resources/appointmentscheduler.sqlsrc/main/resources/application.propertiesdbURL, dbUsername, dbPasswordmailUsername, mailPasswordjwtSecretadminqwerty123admin - is created at database initialization. Admin can add new providers, services and assign services to providers. Admin can see list of all: appointments, providers, customers, invoices. He can also issue invoices manually for all confirmed appointments.provider - can by created by admin only. Provider can set his own working plan, add brakes to that working plan and change his available services. Provider sees only his own appointments.customer retail - registration page is public and can be created by everyone. Customer can only book new appointments and manage them. This type of customer sees only services which targets retail customer.customer corporate - almost the same as retail customer. The only difference is that this type of account needs to provide VAT number and Company Name and can see only services which targets corporrate customer.New Appointment button on all appointments page and then:List<TimePeroid> getAvailableHours(int providerId,int customerId, int workId, LocalDate date)scheudled system New appointment is created - finished system Current date is after appointment end time current appointment status is scheduled and current date is after appointment end time confirmed system Current date is 24h after appointment end time current appointment status is finished and current date is more than 24h after appointment end time invoiced system Invoice for appointment is created - canceled customer Customer clicks cancel button current appointment status is scheduled and current date is not less than 24h before appointment start time and user total canceled appointments number for current month is not greater than 1 rejection requested customer Customer clicks reject button current appointment status is finished and current date is not more than 24h after appointment end time rejection accepted provider Provider clicks accept rejection button current appointment status is rejection requestedscheduled.src\main\resources\templates\emailPosted Aug 13, 2026
Developed a Spring Boot app for managing appointments with features like invoicing and email notifications.