/optimum-booking

Simplify your travel planning with optimum booking, your go-to solution for hassle-free reservations, efficient itinerary management, and unforgettable journeys

Primary LanguageJava

Optimum Booking

Simplify your travel planning with Optimum Booking, your go-to solution for hassle-free reservations, efficient itinerary management, and unforgettable journeys.

Table of Contents

Introduction

Optimum Booking is a comprehensive travel booking application designed to streamline your travel arrangements. With features such as efficient reservation management, itinerary organization, and integrated ticketing, Optimum Booking ensures your travel experience is smooth and enjoyable.

Features

  • Hassle-free reservations
  • Efficient itinerary management
  • Integrated ticketing system
  • Comprehensive tour management
  • User authentication and authorization with OAuth and JWT
  • Caching with Redis
  • Document processing with Apache POI
  • Email notifications with Spring Mail
  • API documentation with Swagger

Technologies

Optimum Booking is built using the following technologies:

  • Docker: Containerization of the application for consistent and reliable deployment.
  • PostgreSQL: Relational database management system.
  • Spring Boot: Framework to simplify the development of Java applications.
  • Spring Data JPA: Abstraction over JPA to simplify database interactions.
  • Swagger: API documentation and testing.
  • Spring Mail: Integration for email services.
  • Apache POI: Library for reading and writing Microsoft Office documents.
  • Spring Redis Cache: Caching solution for improved performance.
  • MongoDB: NoSQL database for flexible data storage.
  • OAuth: Protocol for secure user authentication.
  • JWT: JSON Web Tokens for user authorization.
  • Spring AOP: Aspect-Oriented Programming for cross-cutting concerns.

Getting Started

Prerequisites

  • Docker
  • Docker Compose

Installation

  1. Clone the repository:
    git clone https://github.com/Andresp08/optimum-booking.git
    cd optimum-booking
    

This README provides a clear and concise overview of the project, its features, technologies used, and instructions for getting started. Feel free to customize it further based on your project's specific details and requirements.