Overview

This project involved building a back-end system for a vacation booking application using Spring Boot, following best practices for web development. The goal was to create a fully functional back-end that connects to a front-end interface and integrates with the MySQL database. The project emphasized modular development using Java and Spring frameworks.

Technologies and Tools Used

  • Spring Boot: Framework for building Java-based web applications
  • MySQL: Database management system for storing and managing data
  • IntelliJ IDEA: Integrated development environment (IDE) for Java
  • GitLab: Version control and CI/CD pipelines

Key Features and Tasks

  • Package Creation: Organized the project structure into controllers, entities, DAOs, services, and configuration files.
  • Entity Relationships: Mapped database tables to entity fields using annotations like @Entity, @Table, and @Column. Established relationships such as OneToMany and ManyToOne.
  • Service Layer: Developed a service layer to handle business logic, including checkout processes and order tracking.
  • Data Validation: Enforced input validation for required fields and integrated logic for customer data population.
  • RESTful Controllers: Built controllers to manage HTTP requests and responses, ensuring seamless data flow between front-end and back-end.

Deployment and Testing

The back-end system was deployed locally for testing using MySQL and integrated with a front-end interface. Additionally, data population was verified with sample customer data to ensure seamless interaction between the front-end and back-end.

Project Images

Vacation Booking API Screenshot

RESTful API demonstrating available vacation booking endpoints.

Vacation Booking Database Screenshot

Customer information and purchase confirmation with tracking number.

Vacation Booking Database Screenshot

MySQL database structure used for managing booking data.

View on GitHub