Skip to content

MealMate is a full-stack web application designed to connect clients with local vendors and delivery personnel to provide a seamless tiffin (meal) delivery service. The application ensures that clients can easily place orders, vendors can manage their offerings, and delivery personnel can efficiently fulfill orders.

Notifications You must be signed in to change notification settings

TeaBreeze00/MealMate

Repository files navigation

MealMate

MealMate is a full-stack web application designed to connect clients with local vendors and delivery personnel to provide a seamless tiffin (meal) delivery service. The application ensures that clients can easily place orders, vendors can manage their offerings, and delivery personnel can efficiently fulfill orders.

Feature List

  • Secure Account Registration and Authentication:

    • Users can register and create accounts securely.
    • Implements authentication mechanisms to ensure secure access to user accounts.
  • Restaurant Browsing and Ordering:

    • Enables users to browse a variety of restaurants offering food for delivery.
    • Provides a user-friendly interface for selecting menu items and placing orders.
  • Real-Time Menu Updates:

    • Displays real-time updates of menu items, including availability and pricing.
    • Ensures customers have access to the latest offerings from restaurants.
  • Customized Ordering Experience:

    • Allows users to customize their orders based on preferences and dietary requirements.
    • Supports special instructions or requests for individual menu items.
  • Order Tracking and Status Updates:

    • Provides real-time tracking of orders from placement to delivery.
    • Sends notifications and updates regarding order status changes, ensuring transparency and keeping customers informed.
  • Secure Payment Processing:

    • Integrates secure payment gateways to facilitate safe and hassle-free transactions.
    • Supports multiple payment methods, including credit/debit cards, digital wallets, and cash on delivery.

    DEVELOPMENT REFERENCE 💻

  • Create a config.php file in project directory and include the following code inside the file with appropriate changes to include your credentials.

    <?php
    
    $DB_USER = "ora_CWL";			// change "cwl" to your own CWL
    $DB_PASS = "a99999999";	        // change to 'a' + your student number
    $DB_HOST = "dbhost.students.cs.ubc.ca:1522/stu";
    
    ?>
  • Command for setting permissions of public_html

    • General
      chmod 711 ~/public_html; chmod 711 ~
    • Specific file.php
      chmod 711 ~/public_html/base.php
    • Command for permissions
      ls -la ~/public_html
  • Command for transfering files to cs servers:

    • Replace $CWL with CWL and $file_ext appropriately, Note: Each group member may have to change command slightly according to how the directories are setup, this is a good starting point
    scp ./project/$file_ext $CWL@remote.students.cs.ubc.ca:/home/a/$CWL/public_html

Setting up the project

  1. SSH into cs dep servers

  2. Go to ~/public_html directory

    cd ~/public_html

    NOTE: create the directory if it doesn't exist with mkdir ~/public_html

  3. Clone the repo

    git clone https://github.com/TeaBreeze00/MealMate.git
  4. Set executable permissions for php files in pages folder of project

    chmod -R 711  ~/fileLocation/MealMate
  5. Create config.php file in project directory for database credentials

    touch ~/fileLocation/MealMate/config.php
  6. Modify the config.php file using nano

    nano ~/public_html/MealMate/project/config.php
  7. Copy paste the following code and change CWL, student number to appropriate values

    <?php
    
        $DB_USER = "ora_CWL";			    // change "cwl" to your own CWL
        $DB_PASS = "a11223344";	            // change to 'a' + your student number
        $DB_HOST = "dbhost.students.cs.ubc.ca:1522/stu";
    
    ?>
  8. Exit the editor by the following key presses:

    1. Ctrl + s
    2. Ctrl + x
  9. The site should now be public at the link below with your CWL

    https://www.students.cs.ubc.ca/~CWL/MealMate/project/pages/login.php
  10. For updating the files simply pull the latest files from github

Note

  • DO NOT set the executable command for the entire directory at once, it is recursive and WILL be applied to all at once
  • The executable command for the photos is chmod 644, nothing else renders the photos
  • You have to run the initial setup once before anything else to actually create the tables in your personal Oracle server
  • If you see forbidden resource it is likely because of permission issue, resolve permission issue before moving forward
  • For each new php page created, add this:

"ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); " for better error handling


BUGS

  • The backend for the login.php page is still not handled properly (resolved)

  • Give credit to google documentation and Apple documentation for the Google and Apple buttons, implementation still not done, to be followed later


LINKS 🚪

About

MealMate is a full-stack web application designed to connect clients with local vendors and delivery personnel to provide a seamless tiffin (meal) delivery service. The application ensures that clients can easily place orders, vendors can manage their offerings, and delivery personnel can efficiently fulfill orders.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published