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.
- โจ Features
- ๐ ๏ธ Technologies
- ๐ฆ Installation
- ๐ฎ Usage
- ๐๏ธ Project Structure
- ๐ง API Endpoints
- ๐งช Testing
- ๐ License
- ๐ฝ๏ธ 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
- ๐ฑ 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
| Technology | Version | Purpose |
|---|---|---|
| PHP | 7.2+ | Server-side scripting and business logic |
| MySQL | 8.0+ | Relational database management |
| MariaDB | 10.11+ | Database server (production) |
| 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 |
- 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
- PHP 7.2 or higher
- MySQL 8.0 or MariaDB 10.11+
- Web server (Apache/Nginx)
- Composer (optional, for dependency management)
-
Clone the repository
git clone [url-del-repositorio] cd quinoa -
Set up the database
# Import the database schema mysql -u your_username -p your_database < quinoa.sql
-
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');
-
Set up web server
# For Apache, ensure mod_rewrite is enabled # For Nginx, configure proper routing
-
Access the application
- Main Site:
http://localhost/quinoa/ - Admin Panel:
http://localhost/quinoa/indexAdmin.php - Employee Panel:
http://localhost/quinoa/indexEmpleado.php
- Main Site:
- Customer Registration/Login - Create an account or log in to make reservations
- Browse Menu - View vegetarian and vegan options with detailed descriptions
- Make Reservations - Select date, time, and party size for table booking
- Admin Management - Access admin panel for comprehensive restaurant management
// 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!";
}// 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);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
POST /iniciosesion.php- User authenticationPOST /registrocliente.php- Customer registrationGET /indexCliente.php- Customer dashboard
POST /index.php- Create new reservationGET /modificarReserva.php- View/edit reservationsPOST /modificarReserva.php- Update reservation details
GET /modificarMenu.php- View menu itemsPOST /modificarMenu.php- Add/edit menu itemsDELETE /modificarMenu.php- Remove menu items
GET /indexAdmin.php- Admin dashboardPOST /indexAdmin.php- User/table/menu managementGET /indexEmpleado.php- Employee portal
# 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- โ User authentication and authorization
- โ Reservation system functionality
- โ Menu management operations
- โ Admin dashboard features
- โ Responsive design across devices
- โ Database operations and data integrity
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.