Skip to content

imrajeevnayan/Food-Fiesta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🍽️ Food Fiesta - Professional Spring Boot & Java Fullstack Project

Food Fiesta is a high-performance Fullstack Project and Backend Project ecosystem. Developed using Java 25 and Spring Boot 3.4, this project demonstrates a modern REST API architecture integrated with a Postgres database.

🏷️ Project Tags

#SpringBoot #Java #RestAPI #BackendProject #Postgres #FullstackProject #EnterpriseApp


Spring Boot Java PostgreSQL Swagger License

Food Fiesta is a professional-grade, full-stack dining management ecosystem designed for high-end restaurant operations. Built with modern technologies, it offers a seamless blend of aesthetic excellence and robust backend logic.


πŸ“Έ Interface Preview

Tip

Recruiters: Click the images below to view high-resolution previews of our premium UI/UX.

🏠 Landing & Identity

About Page

πŸ‘€ Authentication & Security

Dual Login System User Registration

πŸ›’ User Experience & Dashboard

User Personalized Dashboard

πŸ›‘οΈ Admin Management Console

Admin Dashboard Overview

πŸ“„ Professional API Documentation

Swagger OpenAPI Docs


πŸš€ Core Features

  • 🎨 Premium UI Overhaul: Implemented a cohesive "Burnt Orange & Slate" design language with glassmorphism components and fluid animations.
  • πŸ›‘οΈ Secure Gateway: Role-based access control (RBAC) ensuring dedicated environments for Admins and Customers.
  • πŸ” Smart Search: Case-insensitive, partial-match product discovery powered by optimized JPA queries.
  • πŸ“¦ Inventory Suite: Comprehensive management for food categories (Biryani, North Indian, Chinese, Desserts).
  • πŸ”‘ Social Authentication: Integrated Google OAuth2 for seamless signup and login experience.
  • πŸ“„ Interactive Documentation: Full OpenAPI/Swagger integration allowing for direct API testing and exploration.
  • πŸ“Š Real-time Order Tracking: Personalized order history and status tracking for registered users.

πŸ› οΈ Technology Stack

Layer Technology
Backend Java 25, Spring Boot 3.4.2, Spring Security, Hibernate
Database PostgreSQL
Documentation SpringDoc OpenAPI (Swagger UI)
Frontend Thymeleaf, Vanilla CSS (Modern CSS3 Variables), JavaScript
Build Tool Maven (wrapper included)
API Testing Postman, Swagger

πŸ“Š Database Architecture (ER Diagram)

The following diagram illustrates the relationship between the core entities in the Food Fiesta ecosystem:

erDiagram
    USER ||--o{ ORDERS : "places"
    USER {
        int u_id PK
        string uname
        string uemail
        string upassword
        long unumber
    }
    ADMIN {
        int adminId PK
        string adminName
        string adminEmail
        string adminPassword
        string adminNumber
    }
    PRODUCT {
        int pid PK
        string pname
        double pprice
        string pdescription
    }
    ORDERS {
        int oId PK
        string oName
        double oPrice
        int oQuantity
        date orderDate
        double totalAmmout
        int user_u_id FK
    }
Loading

βš™οΈ Setup and Installation

Prerequisites

  • JDK 21 or later (Java 25 recommended)
  • PostgreSQL (running on port 5432)
  • Maven 3.8+

Quick Start

  1. Clone the Project
    git clone https://github.com/imrajeevnayan/Food-Fiesta.git

🐳 Docker Deployment

The application is fully dockerized for seamless deployment.

1. Build the Image

docker build -t food-fiesta .

2. Run the Container

docker run -p 8080:8080 --name food-fiesta-app food-fiesta

3. Orchestrate with Docker Compose (Recommended)

Launch both the App and the PostgreSQL database with a single command:

docker-compose up -d

Tip

Use docker-compose logs -f app to follow the application logs.

Note

Ensure you have a PostgreSQL instance running and accessible if not using Compose. You can override database credentials using environment variables: docker run -e SPRING_DATASOURCE_URL=... -p 8080:8080 food-fiesta


  1. Configure PostgreSQL Update src/main/resources/application.properties with your local database credentials:

    spring.datasource.url=jdbc:postgresql://localhost:5432/foodfiesta
    spring.datasource.username=YOUR_USERNAME
    spring.datasource.password=YOUR_PASSWORD
  2. Configure Google OAuth2 (Optional but Recommended) To enable and use Google Login:

    • Go to Google Cloud Console.
    • Create a new project and navigate to APIs & Services > Credentials.
    • Create an OAuth 2.0 Client ID.
    • Add http://localhost:8080/login/oauth2/code/google to the Authorized redirect URIs.
    • Update src/main/resources/application.properties with your credentials:
      spring.security.oauth2.client.registration.google.client-id=YOUR_CLIENT_ID
      spring.security.oauth2.client.registration.google.client-secret=YOUR_CLIENT_SECRET
  3. Build & Execute

    ./mvnw clean install
    ./mvnw spring-boot:run
  4. Explore the App


🀝 Contributing

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.


πŸ“ˆ Search Optimization & Keywords Index

Developed with ❀️ by imrajeevnayan

About

Food Fiesta is a Spring Boot-based web application for online food ordering. It enables users to browse menus, add items to cart, and place orders, while admins manage food items and orders. Built with REST APIs, JPA, and Postgress for efficient and scalable backend operations.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages