yasinenessisik / java-spring-task2-reservationSystem

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Status:Completed

Task Description: Restaurant Reservation API

JPA

SMTP

OOP

LA

Requirements:

Develop an API for managing restaurant reservations.

The API should expose endpoints for customers to make reservations and for retrieving reservation information.

Customers should be able to create an account, make reservations, view their reservations, and confirm their reservations via email verification.

The system should handle reservation capacity and prevent overbooking.

Bonus:

Implement email verification for reservation confirmation.

Constraints:

  • Use an open-source solution and choose a free programming language for development.
  • Data should be stored in memory and not persisted to an external database.
  • Emphasize proper software engineering principles including layering, abstractions, testability, and enterprise-level architecture.

Assumptions:

  • Deliver the source code on Github or Gitlab along with instructions for execution and testing.
  • Demonstrate good Git practices and workflow, including collaboration within a team.

Task Details:

The task involves developing an API for managing restaurant reservations. Users should be able to make reservations, view their reservations, and confirm them through email verification. The system should ensure that reservations do not exceed the restaurant's capacity and handle the logic for confirming reservations.

Implementation:

  1. Reservation Endpoints: Implement endpoints for making reservations, retrieving reservation information, and confirming reservations.
  2. Customer Authentication: Develop logic for customers to create accounts and authenticate themselves for making reservations.
  3. Email Verification (Bonus): Implement email verification for confirming reservations.
  4. Capacity Management: Ensure that reservation requests do not exceed the restaurant's capacity.
  5. Documentation: Provide clear instructions for executing and testing the API.
  6. Git Practices: Follow good Git practices and demonstrate collaboration within a team.

Conclusion:

This task aims to develop a robust API for managing restaurant reservations, ensuring proper software engineering practices are followed. By meeting the requirements and bonuses, the goal is to deliver a functional system that enhances the reservation experience for both customers and restaurant owners.

About


Languages

Language:Java 72.4%Language:JavaScript 20.4%Language:CSS 4.0%Language:HTML 3.2%