Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

================================================================================
                          GRANDEGO. COFFEE SHOP WEBSITE
                              Version 1.0.0
================================================================================

1.  OVERVIEW
    --------
    GrandeGo. is a modern, full-featured restaurant management and e-commerce 
    website built for a coffee shop specializing in freshly baked Pan De Sal and 
    premium coffee. The platform includes customer-facing features (reservations, 
    menu browsing, contact forms) and a comprehensive admin panel for managing 
    reservations, customers, menu items, and messages.
    
    This project demonstrates professional web development practices including:
    - Database-driven content management
    - User authentication and authorization
    - Responsive design for all devices
    - RESTful architecture
    - Security best practices (password hashing, input sanitization)


2.  CONTENTS / FILE DESCRIPTIONS
    --------------------------
    
    PROJECT ROOT (grandego/)
    └── index.php                    Main landing/home page
    
    PAGES DIRECTORY (pages/)
    ├── about.php                    About us page with mission, vision, team
    ├── menu.php                     Menu display with category filters
    ├── reserve.php                  Table reservation booking form
    ├── contact.php                  Contact form and FAQ section
    ├── login.php                    Customer login page
    ├── signup.php                   Customer registration page
    ├── dashboard.php                User profile and reservation history
    └── admin-dashboard.php          Admin control panel
    
    INCLUDES DIRECTORY (includes/)
    ├── config.php                   Database configuration and connection
    ├── functions.php                Reusable functions for database operations
    ├── logout.php                   Session termination handler
    └── reset-password.php           (Optional) Password reset utility
    
    CSS DIRECTORY (css/)
    ├── global.css                   Global design system and utilities
    ├── index.css                    Landing page styles
    ├── about.css                    About page styles
    ├── menu.css                     Menu page styles
    ├── reserve.css                  Reservation page styles
    ├── contact.css                  Contact page styles
    ├── login.css                    Login page styles
    ├── signup.css                   Signup page styles
    ├── dashboard.css                User dashboard styles
    └── admin.css                    Admin panel styles
    
    IMAGES DIRECTORY (images/)
    └── 2024-12-02.webp              Hero/background image
    
    ROOT FILES
    ├── README.txt                   This file
    └── .htaccess                    (Optional) Apache rewrite rules


3.  GETTING STARTED / USAGE
    ---------------------
    
    SYSTEM REQUIREMENTS:
    - Apache Web Server (with mod_rewrite enabled)
    - PHP 7.4 or higher
    - MySQL 5.7 or higher
    - XAMPP (recommended for local development)
    - Modern web browser (Chrome, Firefox, Safari, Edge)
    
    INSTALLATION STEPS:
    
    1. LOCAL SETUP (XAMPP):
       a) Download and install XAMPP from https://www.apachefriends.org/
       b) Extract the grandego/ folder to C:\xampp\htdocs\
       c) Start Apache and MySQL from XAMPP Control Panel
       d) Access http://localhost/grandego/ in your browser
    
    2. DATABASE SETUP:
       a) Open PHPMyAdmin: http://localhost/phpmyadmin/
       b) Create a new database named "grandego_db"
       c) Import the database schema (SQL file if provided)
       d) Update includes/config.php with your database credentials:
          - DB_HOST: localhost
          - DB_USER: root
          - DB_PASS: (leave empty for XAMPP)
          - DB_NAME: grandego_db
    
    3. CREATE ADMIN ACCOUNT:
       Using PHPMyAdmin SQL tab, run:
       
       INSERT INTO users (first_name, last_name, email, phone, password, role)
       VALUES (
           'Admin',
           'User',
           'admin@grandego.ph',
           '0212345678',
           '$2y$10$E9IG/HWL3EesZrKc7l2S2eZUVXVD.bnr5qJXVR8E3KqHXv8YBJjmi',
           'admin'
       );
    
    4. ACCESS THE WEBSITE:
       - Home Page: http://localhost/grandego/
       - Login: http://localhost/grandego/pages/login.php
       - Admin Panel: http://localhost/grandego/pages/admin-dashboard.php
    
    DEMO CREDENTIALS:
    - Admin Email: admin@grandego.ph
    - Admin Password: Admin123!
    - Customer Email: john@example.com
    - Customer Password: John123!
    
    FEATURES OVERVIEW:
    
    CUSTOMER FEATURES:
    ✓ Browse menu with category filters
    ✓ Make table reservations
    ✓ View past reservations
    ✓ Submit contact messages
    ✓ Create customer account
    ✓ View profile and loyalty points
    ✓ Edit preferences
    
    ADMIN FEATURES:
    ✓ View dashboard statistics
    ✓ Manage all reservations
    ✓ View and manage contact messages
    ✓ View all customers
    ✓ Add/edit/delete menu items
    ✓ Configure site settings
    ✓ View recent activity


4.  DATABASE SCHEMA
    ----------------
    The application uses the following main tables:
    
    USERS TABLE:
    - id (INT, Primary Key)
    - first_name (VARCHAR)
    - last_name (VARCHAR)
    - email (VARCHAR, Unique)
    - phone (VARCHAR)
    - password (VARCHAR) - Bcrypt hashed
    - role (ENUM: 'customer', 'admin')
    - created_at (TIMESTAMP)
    
    RESERVATIONS TABLE:
    - id (INT, Primary Key)
    - user_id (INT, Foreign Key)
    - first_name (VARCHAR)
    - last_name (VARCHAR)
    - email (VARCHAR)
    - phone (VARCHAR)
    - date (DATE)
    - time (TIME)
    - guests (INT)
    - occasion (VARCHAR)
    - seating_preference (VARCHAR)
    - special_requests (TEXT)
    - status (ENUM: 'pending', 'confirmed', 'cancelled')
    - created_at (TIMESTAMP)
    
    CONTACT_MESSAGES TABLE:
    - id (INT, Primary Key)
    - first_name (VARCHAR)
    - last_name (VARCHAR)
    - email (VARCHAR)
    - phone (VARCHAR)
    - subject (VARCHAR)
    - message (TEXT)
    - status (ENUM: 'unread', 'read')
    - created_at (TIMESTAMP)
    
    MENU_ITEMS TABLE:
    - id (INT, Primary Key)
    - name (VARCHAR)
    - category (VARCHAR)
    - description (TEXT)
    - price (DECIMAL)
    - image_url (VARCHAR)
    - is_available (BOOLEAN)
    - created_at (TIMESTAMP)


5.  SECURITY FEATURES
    ------------------
    ✓ Password hashing using bcrypt (PASSWORD_BCRYPT)
    ✓ Input sanitization to prevent SQL injection
    ✓ Session-based authentication
    ✓ Email validation
    ✓ Role-based access control (RBAC)
    ✓ Prepared statements (mysqli)
    ✓ CSRF protection ready
    ✓ Secure password reset functionality
    
    SECURITY BEST PRACTICES:
    - Never expose database credentials in code
    - Use environment variables for sensitive data
    - Keep PHP, MySQL, and plugins updated
    - Implement HTTPS on production servers
    - Use Web Application Firewall (WAF)
    - Regular security audits


6.  LICENSE / TERMS OF USE
    -----------------------
    This project is provided as-is for educational and commercial purposes.
    
    USAGE RIGHTS:
    ✓ Free to modify and customize
    ✓ Free to use for personal or business use
    ✓ Free to deploy on your own servers
    ✓ Free to integrate with other systems
    
    RESTRICTIONS:
    ✗ Do not redistribute as your own without attribution
    ✗ Do not remove creator credits
    ✗ Do not resell as a template without permission
    
    For commercial use or licensing inquiries, contact the developer.


7.  CONTACT INFORMATION
    -------------------
    
    PROJECT DEVELOPER:
    Name: DinoBook Cafe Development Team
    Email: hello@grandego.ph
    Website: http://localhost/grandego/
    
    FOR SUPPORT:
    - Check the FAQ section on the Contact page
    - Submit a message via the Contact form
    - Email support at hello@grandego.ph
    
    FEEDBACK & SUGGESTIONS:
    We welcome feedback on your experience using GrandeGo.
    Please share your suggestions to help us improve!


8.  VERSION HISTORY / CHANGELOG
    ----------------------------
    
    Version 1.0.0 (2025-11-26) - Initial Release
    ✓ Core website structure and pages
    ✓ User authentication system
    ✓ Customer dashboard
    ✓ Admin panel
    ✓ Reservation management
    ✓ Menu management
    ✓ Contact form and messaging
    ✓ Loyalty points system (structure)
    ✓ Responsive design for all devices
    ✓ Database integration
    ✓ Security features implemented
    
    PLANNED FEATURES (Upcoming):
    ○ Email notification system
    ○ Payment integration (Stripe/PayPal)
    ○ Online ordering system
    ○ SMS notifications
    ○ Advanced analytics dashboard
    ○ Promotional codes system
    ○ Membership tiers
    ○ Mobile app integration
    ○ Live chat support
    ○ QR code menu


9.  TROUBLESHOOTING
    ----------------
    
    ISSUE: "Invalid password" on login
    SOLUTION: Ensure password is hashed with bcrypt. Use reset-password.php utility.
    
    ISSUE: Admin panel shows "Access Denied"
    SOLUTION: Verify user role is set to 'admin' in users table.
    
    ISSUE: Cannot access admin-dashboard.php
    SOLUTION: Login with admin account, not customer account.
    
    ISSUE: Database connection error
    SOLUTION: Check database credentials in includes/config.php
    
    ISSUE: Images not loading
    SOLUTION: Verify image paths and ensure images folder exists.
    
    ISSUE: CSS not loading properly
    SOLUTION: Clear browser cache (Ctrl+Shift+Delete) and reload page.
    
    ISSUE: Forms not submitting
    SOLUTION: Check browser console for JavaScript errors (F12).
    
    For more help, contact: hello@grandego.ph


10. ADDITIONAL NOTES
    ----------------
    
    PERFORMANCE TIPS:
    - Enable caching on the server
    - Optimize images before uploading
    - Use a Content Delivery Network (CDN)
    - Minify CSS and JavaScript
    - Enable GZIP compression
    
    DEPLOYMENT CHECKLIST:
    ☐ Update database credentials
    ☐ Enable HTTPS/SSL certificate
    ☐ Set up automated backups
    ☐ Configure email sending
    ☐ Test all forms and links
    ☐ Verify admin panel access
    ☐ Set up monitoring and logging
    ☐ Configure domain name
    ☐ Update social media links
    ☐ Test on multiple browsers
    
    FUTURE ENHANCEMENTS:
    - API documentation
    - Unit testing framework
    - Automated deployment pipeline
    - Advanced reporting tools
    - Multi-language support
    - Accessibility improvements (WCAG 2.1)


================================================================================
                                END OF README
                    For more information, visit the project website
                           http://localhost/grandego/
================================================================================

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages