Skip to content

JomsCode21/Food-Mapping-and-Analytics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍔 TasteLibmanan: Food Mapping & Analytics System

Project Status Tech Stack Academic

Welcome to TasteLibmanan, a comprehensive web-based platform designed to map, explore, and analyze local food establishments in Libmanan.

This system serves as a bridge between local food enthusiasts, food business owners, and the Business Permits and Licensing Office (BPLO) of Libmanan, streamlining both the discovery of local flavors and the administrative processing of business permits.


📖 About the Project

Developed as a Bachelor of Science in Information Technology capstone project, TasteLibmanan goes beyond a simple directory. It is an interactive mapping system equipped with detailed analytics, an online permit application portal, and a secure communication system between vendors and municipal admins.

✨ Key Features

  • 👨‍🍳 For Food Enthusiasts: Interactive map, reviews & ratings, and favorites bookmarking.
  • 🏪 For Food Business Owners: Online permit applications (New/Renewal), menu management, gallery uploads, and real-time application status tracking.
  • 🛡️ For Administrators (BPLO): Analytics dashboard, vendor management (approve/reject permits), and direct messaging with business owners.

🔄 System Flow

The system operates on a seamless flow connecting three main user types: BPLO Admins, Business Owners, and Public Users.

1. Business Registration & Approval Flow

Business Owner signs up ➔ Submits Digital BPLO Application (Uploads clearances/docs) ➔ Application marked as "Pending". BPLO Admin logs in ➔ Reviews application & downloads requirements ➔ Clicks "Approve" (Sends automated email to Owner). System automatically plots the approved business on the live interactive map.

2. Business Management Flow

Approved Business Owner accesses portal ➔ Uploads Menu images & prices ➔ Uploads promotional Gallery photos ➔ Updates business status (Open/Closed).

3. User Discovery & Engagement Flow

Public User visits website ➔ Uses the Interactive Map or Category filters to find food ➔ Clicks a business to view menus and location. Logged-in User visits a profile ➔ Leaves a Review & Star Rating ➔ Clicks the ❤️ icon to save to their personal "Favorites" list.

4. Analytics Flow

System records user visits, category preferences, and application statuses. BPLO Admin views the real-time Dashboard to monitor local economic trends and system engagement.


🛑 What You Need (Prerequisites)

If you want to download, modify, or run this code on your local machine, you will need the following tools and accounts:

  1. Local Server Environment: * XAMPP, WAMP, or MAMP installed on your machine.
  2. PHP & MySQL: * PHP version 7.4 or higher.
    • MySQL (comes pre-packaged with XAMPP).
  3. Web Browser: * Google Chrome, Microsoft Edge, or Mozilla Firefox.
  4. Google Account (For Email Features):
    • The system uses PHPMailer to send OTPs, email verifications, and permit approval notifications.
    • You will need a standard Gmail account and you MUST generate a Google App Password (Found in your Google Account Security settings under 2-Step Verification) to use as your SMTP password.

🚀 Installation Guide

Follow these step-by-step instructions to get the system running locally:

1. Download the Code

  • Clone the repository or download the ZIP file.
  • Move the TasteLibmanan folder into your local server's web directory (e.g., C:\xampp\htdocs\).

2. Set Up the Database

  • Open your XAMPP Control Panel and start Apache and MySQL.
  • Open your browser and go to http://localhost/phpmyadmin.
  • Click New to create a database and name it exactly: tastelibmanan.
  • Click on the Import tab, select database/TASTELIBMANAN.sql (or the legacy root copy TASTELIBMANAN.sql), and click Go.

2.1 Project Layout (Organized)

The project now keeps setup and utility scripts in dedicated folders for easier navigation:

  • users/ - user-facing pages and APIs
  • fbusinessowner/ - business owner pages and APIs
  • admin_folder/ - admin pages and APIs
  • tools/ - diagnostics, setup, cron, and utility scripts
  • database/ - SQL schema and migration files
  • uploads/ - user and business uploaded assets

Compatibility note:

  • Legacy root utility paths such as diagnostics.php, setup_database.php, and test_connection.php still work through lightweight wrappers.

3. Configure the Environment Variables (Crucial Step)

To keep the system secure, credentials are not hardcoded. You must create an environment file.

  • In the root folder of the project, find the file named .env.example.
  • Duplicate this file and rename the copy to .env (just .env, nothing before the dot).
  • Open the .env file in a text editor (like VS Code or Notepad) and update the credentials:
# Database Credentials
DB_HOST=localhost
DB_NAME=tastelibmanan
DB_USER=root
DB_PASS=          # Leave blank if your local XAMPP root user has no password

# App Security
APP_URL=http://localhost/TasteLibmanan
APP_SECRET=generate_a_random_secret_string_here

# Email Setup (PHPMailer)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USERNAME=your_actual_email@gmail.com
SMTP_PASSWORD=your_google_app_password      # Use the 16-character App Password, NOT your real password!
SMTP_ENCRYPTION=tls
SMTP_FROM_EMAIL=your_actual_email@gmail.com
SMTP_FROM_NAME=Tastelibmanan Admin

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages