Skip to content

andreJesusTorres/restaurant-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

65 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿฝ๏ธ Quinoa Restaurant Management System

PHP MySQL Bootstrap HTML5 CSS3 License

A comprehensive restaurant management system for "Restaurante Quinoa" - a vegetarian and vegan restaurant. Features table reservations, menu management, user administration, and employee portals. This project is part of my professional portfolio to demonstrate my development skills and practices.

๐Ÿ“‹ Table of Contents

โœจ Features

๐ŸŽฏ Core Functionality

  • ๐Ÿฝ๏ธ Menu Management - Complete CRUD operations for menu items with categories and pricing
  • ๐Ÿ“… Reservation System - Smart table allocation and reservation management
  • ๐Ÿ‘ฅ User Management - Multi-role system (Admin, Employee, Customer)
  • ๐Ÿช Table Management - Dynamic table allocation based on capacity and availability
  • ๐Ÿ“Š Admin Dashboard - Comprehensive management interface for restaurant operations

๐ŸŽจ User Experience

  • ๐Ÿ“ฑ Responsive Design - Mobile-first approach with Bootstrap 5
  • ๐ŸŽจ Modern UI - Clean, professional interface with smooth animations
  • ๐Ÿ” Secure Authentication - Session-based user authentication and authorization
  • โšก Real-time Updates - Dynamic content loading and form validation
  • ๐ŸŒฑ Vegetarian/Vegan Focus - Specialized menu categories and dietary information

๐Ÿ› ๏ธ Technologies

Backend

Technology Version Purpose
PHP 7.2+ Server-side scripting and business logic
MySQL 8.0+ Relational database management
MariaDB 10.11+ Database server (production)

Frontend

Technology Version Purpose
HTML5 5.0 Markup structure
CSS3 3.0 Styling and layout
Bootstrap 5.3+ CSS framework and components
JavaScript ES6+ Client-side interactivity

Development Tools

  • AOS (Animate On Scroll) - Smooth scroll animations
  • GLightbox - Image gallery and lightbox functionality
  • Swiper - Touch slider and carousel
  • Bootstrap Icons - Icon library
  • PureCounter - Animated counters

๐Ÿ“ฆ Installation

Prerequisites

  • PHP 7.2 or higher
  • MySQL 8.0 or MariaDB 10.11+
  • Web server (Apache/Nginx)
  • Composer (optional, for dependency management)

Quick Start

  1. Clone the repository

    git clone [url-del-repositorio]
    cd quinoa
  2. Set up the database

    # Import the database schema
    mysql -u your_username -p your_database < quinoa.sql
  3. Configure database connection

    # Edit config.php with your database credentials
    define('DB_SERVER', 'localhost');
    define('DB_USERNAME', 'your_username');
    define('DB_PASSWORD', 'your_password');
    define('DB_NAME', 'your_database');
  4. Set up web server

    # For Apache, ensure mod_rewrite is enabled
    # For Nginx, configure proper routing
  5. Access the application

    • Main Site: http://localhost/quinoa/
    • Admin Panel: http://localhost/quinoa/indexAdmin.php
    • Employee Panel: http://localhost/quinoa/indexEmpleado.php

๐ŸŽฎ Usage

Getting Started

  1. Customer Registration/Login - Create an account or log in to make reservations
  2. Browse Menu - View vegetarian and vegan options with detailed descriptions
  3. Make Reservations - Select date, time, and party size for table booking
  4. Admin Management - Access admin panel for comprehensive restaurant management

Key Features Usage

Making a Reservation

// Example reservation process
$name = "John Doe";
$mail = "john@example.com";
$phone = "+1234567890";
$date = "2024-06-15";
$time = "19:00 - 20:00";
$people = 4;
$msg = "Window seat preferred";

if (reservar($name, $mail, $phone, $date, $time, $people, $msg)) {
    echo "Reservation confirmed!";
}

Menu Management

// Add new menu item
$menuItem = [
    'name' => 'Quinoa Bowl',
    'descrip' => 'Fresh quinoa with seasonal vegetables',
    'category' => 'Principal',
    'price' => 12.99,
    'img' => 'img/food/quinoa_bowl.jpg',
    'state' => 1
];

agregarMenu($menuItem);

๐Ÿ—๏ธ Project Structure

quinoa/
โ”œโ”€โ”€ ๐Ÿ“ assets/                    # Static assets
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ css/                  # Stylesheets
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ js/                   # JavaScript files
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ img/                  # Images and icons
โ”‚   โ””โ”€โ”€ ๐Ÿ“ vendor/               # Third-party libraries
โ”œโ”€โ”€ ๐Ÿ“ forms/                    # Form processing scripts
โ”œโ”€โ”€ ๐Ÿ“ img/                      # Food and user images
โ”‚   โ””โ”€โ”€ ๐Ÿ“ food/                 # Menu item images
โ”œโ”€โ”€ ๐Ÿ”ง config.php               # Database configuration
โ”œโ”€โ”€ ๐Ÿ”ง consultas.php            # Database queries and functions
โ”œโ”€โ”€ ๐Ÿ  index.php                # Main restaurant website
โ”œโ”€โ”€ ๐Ÿ‘จโ€๐Ÿ’ผ indexAdmin.php         # Admin dashboard
โ”œโ”€โ”€ ๐Ÿ‘จโ€๐Ÿ’ผ indexEmpleado.php      # Employee portal
โ”œโ”€โ”€ ๐Ÿ‘ค indexCliente.php         # Customer portal
โ”œโ”€โ”€ ๐Ÿ” iniciosesion.php         # Login system
โ”œโ”€โ”€ ๐Ÿ“ registrocliente.php      # Customer registration
โ”œโ”€โ”€ ๐Ÿฝ๏ธ modificarMenu.php        # Menu management
โ”œโ”€โ”€ ๐Ÿ“… modificarReserva.php     # Reservation management
โ””โ”€โ”€ ๐Ÿ—„๏ธ quinoa.sql              # Database schema

๐Ÿ”ง API Endpoints

User Management

  • POST /iniciosesion.php - User authentication
  • POST /registrocliente.php - Customer registration
  • GET /indexCliente.php - Customer dashboard

Reservation System

  • POST /index.php - Create new reservation
  • GET /modificarReserva.php - View/edit reservations
  • POST /modificarReserva.php - Update reservation details

Menu Management

  • GET /modificarMenu.php - View menu items
  • POST /modificarMenu.php - Add/edit menu items
  • DELETE /modificarMenu.php - Remove menu items

Admin Operations

  • GET /indexAdmin.php - Admin dashboard
  • POST /indexAdmin.php - User/table/menu management
  • GET /indexEmpleado.php - Employee portal

๐Ÿงช Testing

Running Tests

# Manual testing recommended for this PHP application
# Test user flows:
# 1. Customer registration and login
# 2. Menu browsing and reservation creation
# 3. Admin panel functionality
# 4. Employee portal operations

Test Coverage

  • โœ… User authentication and authorization
  • โœ… Reservation system functionality
  • โœ… Menu management operations
  • โœ… Admin dashboard features
  • โœ… Responsive design across devices
  • โœ… Database operations and data integrity

๐Ÿ“„ License

This project is proprietary software. All rights reserved. This code is made publicly available solely for portfolio demonstration purposes. See the LICENSE file for full terms and restrictions.


About

๐Ÿฝ๏ธ Quinoa Restaurant Management System - Complete restaurant management platform with reservations, menu management, user administration, and employee portals built with PHP and MySQL.

Topics

Resources

License

Stars

Watchers

Forks

Contributors