This project is a web application in Java Spring Boot for managing appointments for photographers. It allows clients to schedule appointments for photography sessions and provides admin operations for photographers to manage their appointments and given services/time slots.
- Client Booking: Clients can sign up, log in, and schedule appointments for photography sessions.
- Admin Operations: Photographers can log in and perform administrative tasks such as adding/removing photoshoots, adding/removing time slots, viewing, editing, and cancelling appointments.
- Appointment Management: The system allows for easy management of appointments, including scheduling, rescheduling, and cancellation.
- Email Notifications: Clients receive email notifications for appointment confirmations, reminders, and cancellations.
- User Authentication and Authorization: Secure user authentication and authorization using Spring Security.
- Spring Boot: Backend framework for building the application.
- Spring Security: For user authentication and authorization.
- Spring Data JPA: For interacting with the database.
- MySQL: Database management system for storing application data.
- HTML/CSS/JavaScript: Frontend technologies for creating the user interface.
- Maven: Dependency management tool for Java projects.
- JUnit: For unit testing.
- MockMVC: For REST API testing.
- Clone the repository: git clone https://github.com/alessandrocapialbi/SWE_photoshoot_booking/
- Navigate to the project directory: cd your_cloned_project_directory
- Configure MySQL database settings in docker-compose.yml or application.properties
- Build the project using Maven: mvn clean install
- Run the application: java -jar target/your_cloned_project_directory.jar
- Access the application in your web browser at
http://localhost:8080
.
- Sign up as a client or log in as an existing client.
- Schedule an appointment by providing necessary details.
- Photographers can log in using their credentials to access admin operations.
- Photographers can view, edit, or cancel appointments from the admin dashboard.
This project is licensed under the MIT License.
For any inquiries or support, please contact [email protected].