PHP Restaurant Ordering System with PayPal

Description
A complete, production-ready restaurant ordering system built in PHP. Customers browse your menu, add items to cart, pay via PayPal and track their order history from their account. You get a real-time admin dashboard with live order tracking, kitchen bell alerts, menu management, customer review responses, and full store settings — all managed from a single panel without writing any code.
The system supports both SQLite (zero setup, file-based) and MySQL, making it easy to deploy on any standard PHP hosting environment. The first user to register automatically becomes the admin, with full role-based access control protecting the admin panel from customers.
All sensitive credentials (PayPal, Google Sign-In) are stored in a secure .env file, keeping your code clean and your keys safe. The admin can configure currency, social media links, contact numbers, and order auto-clear timers directly from the dashboard settings panel.
Features
Customer menu with shopping cart and checkout PayPal integration (Sandbox & Live) with full order capture flow Customer registration, login, and Google Sign-In Per-user order history Admin dashboard with live order tracking and auto-refresh Kitchen notification bell with configurable duration Menu management with image uploads (add, edit, delete) Customer reviews with admin reply system Policy management (Privacy, Delivery, Refund, Terms) Store Settings: currency (6 currencies), order auto-clear timer (1-7 days), WhatsApp/Facebook/Email links, phone numbers First registered user auto-becomes admin Role-based access control (403 for non-admins) CSRF token protection on all admin actions Random hero image rotation from uploaded menu photos
Requirements
PHP 7.4 or higher SQLite3 (default, no setup required) or MySQL 5.7+ PHP extensions: PDO, cURL, JSON HTTPS/SSL certificate (required for live PayPal payments) A PayPal Business account (Sandbox for testing, Live for production) Standard PHP hosting (cPanel, shared, or VPS)
Instructions
Step 1: Upload all files to your web server's public_html folder.
Step 2: Go to a file named ".env" in the project root (same level as the config/ folder). Add your PayPal credentials: PAYPAL_CLIENT_ID=your_client_id_here PAYPAL_CLIENT_SECRET=your_secret_here (No quotes, no spaces. Get these from developer.paypal.com)
Step 3: Open install.php in your browser (e.g., http://yoursite.com/install.php). Wait for "Installation Successful."
Step 4: DELETE install.php from your server immediately.
Step 5: Register your first account at /user/register.php. The first user automatically becomes the admin.
Step 6: Log in at /user/login.php. You will be redirected to /admin/dash.php.
Step 7: In the admin panel, go to "Manage Menu" to add your food items with images and prices.
Step 8: Open "Store Settings" (gear icon in sidebar) to configure your currency, social media links, phone numbers, and order auto-clear timer.
Step 9: For live PayPal payments, create a Live app at developer.paypal.com, update your .env file with the Live credentials, and change $paypal_mode to 'live' in config/config.php.
Step 10: Make sure your server has HTTPS/SSL enabled (required for live PayPal).
| Author | cyberSeRvEr0 |
|---|---|
| Category | Scripts & Code / PHP Scripts / Management / Restaurant |
| Price | $25 |
| Extended License | $75 |
| Likes | 1 |
| First Release | Aug 27, 2026 |
| Last Update | Aug 27, 2026 |
| Database | MySQL 5.7, MySQL 8.0, MariaDB 10.x, MariaDB 11.x, SQLite 3.x, MySQL 5.x |
| Files included | .php, .css, .html, .db, JavaScript .js |
| Software version | PHP 7.4, PHP 8.0, PHP 8.1, PHP 8.2, PHP 8.3, PHP 8.4 |
| Programming language | PHP, JavaScript |
Categories
Tags
External listing. code.market does not sell this product and does not process payment for it. Pricing, payment, delivery, licensing, refunds, and support are handled by the third-party merchant on its own website. We may earn an affiliate commission from a referral. Details.
Products of the Week.
Submit🥇
STOP GUESSING WHAT TO POST
AI that learns your brand voice and builds a month of consistent, on-brand social content: carousels, posts and hooks that sound like you, not like everyone else's AI.
SaaS · 3,096 views · 28 clicksSaaS · Week 45 · 3,096 views · 28 clicks
🥈
Conversational Backlinks for Busy Founders
Place Backlink Relevant Conversation for your domain across Forums and Conversations
Website · 40,486 views · 216 clicksWebsite · Week 45 · 40,486 views · 216 clicks
🥉
upvote.club
Free Social Media Engagement that Helps Boost Your Content. Upvote Club supports 19 social networks with 100+ engagement actions in one dashboard. Add links to your posts and get free engagement from real users.
SaaS · 38,578 views · 110 clicksSaaS · Week 45 · 38,578 views · 110 clicks
#4
Substack Posting API
Onboard your Agent to Substack. Write Publish on Substack via API
SaaS · 57,616 views · 197 clicksSaaS · Week 45 · 57,616 views · 197 clicks
#5
Seenshot App
Free, Fast, MacOS Screenshot app. Make Screenshot cmd+shift+2 and send it via link
Desktop App · 27,048 views · 119 clicksDesktop App · Week 45 · 27,048 views · 119 clicks
#6
Hand-Placed Backlinks $9.99 per link. Flat rate.
Buy hand-placed forum, Q-A and directory backlinks. Flat $9.99 per link, no subscriptions — you only pay for approved listings.
Website · 2,988 views · 18 clicksWebsite · Week 45 · 2,988 views · 18 clicks
#7
Free Invoice Generator - PDF Invoices in Your Browser, No Sign-Up
A free invoice maker for freelancers and small businesses: fill in the invoice, check the live preview, and download a PDF that looks exactly like it. Any currency, tax per item, three templates, no sign-up, and nothing leaves your device.
1,682 views · 16 clicksWeek 45 · 1,682 views · 16 clicks
#8
Merge PDF Files Free - Combine PDFs in Your Browser, No Upload
A free PDF merger for office workers, students, and freelancers: combine PDFs and images into one file in the browser, reorder files and pages, pick page ranges, keep bookmarks, and open password-protected PDFs. Nothing is uploaded, no sign-up, no watermark.
1,574 views · 13 clicksWeek 45 · 1,574 views · 13 clicks