Skip to content

Latest commit

 

History

History
128 lines (108 loc) · 5.45 KB

README.md

File metadata and controls

128 lines (108 loc) · 5.45 KB

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 🚪