LP
LISTIFYPRO
Documentation • Version 3.2

ListifyPro Documentation

Laravel Business Directory, Service Booking & Vendor Marketplace. This documentation will help you install, configure, customize, and manage your ListifyPro application.

FrameworkLaravel 13
FrontendLivewire v4
CSSTailwind CSS v4
PaymentsStripe + Wallet

1 Overview

ListifyPro is a complete Laravel marketplace platform for business directories, service booking, vendor management, customer accounts, subscriptions, wallet payments, commissions, payouts, support tickets, CMS content, and admin moderation.

Business Directory

Browse businesses, categories, cities, listings, vendor storefronts, reviews, and CMS pages.

Service Booking

Customers can book vendor services with packages, addons, coupons, real slots, and payments.

Vendor Marketplace

Vendors can manage listings, services, bookings, staff, earnings, payouts, and subscriptions.

Recommended: Read this documentation fully before installation, especially the server requirements, cron job, storage permission, and Stripe setup sections.

2 Server Requirements

Required Environment

  • PHP 8.3 or higher
  • MySQL 8 or MariaDB 10.6+
  • Composer 2.x
  • Node.js 18+ or 20+
  • NPM
  • SSL certificate for payment gateway
  • Cron job support

Required PHP Extensions

  • BCMath, Ctype, cURL
  • DOM, Fileinfo, JSON
  • Mbstring, OpenSSL
  • PDO, PDO MySQL
  • Tokenizer, XML, Zip
  • GD or Imagick
Important: Your domain document root must point to the public folder. Do not expose the Laravel root directory publicly.

3 Installation

Step 1: Upload Files

Upload the full project files to your hosting/server. Make sure hidden files such as .env.example are also uploaded.

Step 2: Set Document Root

Point your domain or subdomain to the Laravel public folder.

/home/username/listifypro/public

Step 3: Create Database

Create a new MySQL database, database username, and password from your hosting control panel.

Step 4: Configure .env

Copy .env.example to .env and update your app URL, database, mail, and payment settings.

APP_NAME="ListifyPro"
APP_ENV=production
APP_DEBUG=false
APP_URL=https://your-domain.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_database_user
DB_PASSWORD=your_database_password

Step 5: Install Dependencies

composer install --no-dev --optimize-autoloader
npm install
npm run build

Step 6: Generate Key and Run Database

php artisan key:generate
php artisan migrate --seed
php artisan storage:link

Step 7: Set Folder Permissions

chmod -R 775 storage bootstrap/cache

Step 8: Clear and Cache

php artisan optimize:clear
php artisan config:cache
php artisan route:cache
php artisan view:cache

4 Configuration

After installation, login to the admin panel and configure the core settings.

Setting Group What to Configure
Company Company name, address, email, phone, website, timezone, currency.
Branding Logo, favicon, admin branding, public branding, color preferences.
Payment Stripe keys, offline payment details, commission rate, wallet settings.
Email / SMTP SMTP host, port, username, password, encryption, sender email.
SEO Default meta title, meta description, sitemap and public SEO values.
Notification Email notifications, system notifications, reminder settings.

Recommended Production .env

APP_ENV=production
APP_DEBUG=false
LOG_CHANNEL=stack
CACHE_STORE=file
QUEUE_CONNECTION=database
SESSION_DRIVER=database

5 Stripe Setup

ListifyPro supports Stripe for subscriptions, one-time payments, service bookings, and wallet top-up.

  1. Login to your Stripe dashboard.
  2. Copy your Stripe Secret Key.
  3. Go to Admin Panel → Settings → Payment.
  4. Paste Stripe Secret Key and Webhook Secret.
  5. Go to Admin Panel → Pricing Plans.
  6. Click Sync to Stripe for paid plans.

Webhook URL

https://your-domain.com/webhooks/stripe

Recommended Stripe Events

  • checkout.session.completed
  • checkout.session.async_payment_succeeded
  • checkout.session.async_payment_failed
  • charge.refunded
  • customer.subscription.created
  • customer.subscription.updated
  • customer.subscription.deleted
  • invoice.payment_succeeded
  • invoice.payment_failed
Note: Stripe live mode requires HTTPS. Always test with Stripe test mode before using live keys.

6 Cron & Scheduler

ListifyPro uses Laravel Scheduler for reminders, digests, follow-ups, and cleanup tasks.

* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1

Scheduled Notifications

Booking reminders, payment reminders, subscription expiry notices, and inquiry follow-ups.

Maintenance Tasks

Daily admin digest, activity cleanup, login log pruning, and system maintenance tasks.

7 Portal Guide

Public Website

Homepage, search, categories, listing details, service details, vendor storefronts, blog, FAQ, and booking pages.

Customer Portal

Bookings, saved listings, saved services, wallet, orders, inquiries, messages, support, and profile.

Vendor Portal

Listings, services, bookings, jobs, availability, earnings, payouts, billing, documents, team, and profile.

Admin Portal

Moderation, users, roles, permissions, payments, reports, settings, CMS, support, and marketplace management.

8 Main Modules

Listings

Business listing creation, moderation, gallery, claim, categories, location, save button.

Services

Vendor services, packages, addons, availability, pricing, reviews, booking CTA.

Bookings

Slot-based booking wizard, coupon, addons, payment, cancel, reschedule, confirmation.

Wallet

Customer balance, wallet top-up, wallet payment, transaction history.

Subscriptions

Free, recurring, lifetime plans, billing, Stripe checkout, invoices, cancellation.

Payouts

Commission ledger, vendor earnings, withdrawal methods, payout requests, admin processing.

Messaging

Inquiries, conversations, direct messages, support tickets, throttled notification.

CMS

Pages, posts, FAQs, testimonials, homepage sections, banners, SEO pages.

Reports

Payments, commissions, bookings, listings, services, reviews, subscriptions, CSV exports.

9 Roles & Permissions

ListifyPro uses Spatie Laravel Permission for role-based access control.

Role Purpose
Super Admin Full system access, settings, users, roles, finance, marketplace moderation.
Manager Staff-level management access based on assigned permissions.
Employee Limited admin/staff access based on permission assignment.
Vendor Vendor portal access for listings, services, bookings, earnings, and billing.
Customer Customer portal access for bookings, wallet, saved items, messages, and support.
Tip: Always assign permissions carefully before giving staff access to finance, settings, or moderation modules.

10 Business Workflow

Customer Booking Workflow

Search View Service Select Slot Apply Coupon Pay Booking Confirmed

Vendor Workflow

Register Choose Plan Create Listings Add Services Receive Bookings Request Payout

Admin Workflow

Configure Approve Vendors Moderate Listings Monitor Payments Process Payouts

11 Demo Data

If demo data is installed, you can use the following login details:

Role Email Password
Adminadmin@demo.compassword
Staffstaff@demo.compassword
Vendorvendor@demo.compassword
Customercustomer@demo.compassword
Security: Change all demo passwords or remove demo accounts before using the application in production.

12 Customization

Admin Customization

  • Change logo and favicon
  • Update company information
  • Create categories and locations
  • Manage homepage sections
  • Manage banners and promotions
  • Edit CMS pages, posts, FAQ, testimonials
  • Configure payment and commission settings

Developer Customization

  • Blade templates: resources/views
  • Livewire components: app/Livewire
  • Routes: routes/web.php
  • Models: app/Models
  • Services: app/Services
  • Assets: resources/css and resources/js

13 Update Guide

Before updating your project, always create a full backup.

  1. Backup all project files.
  2. Backup your database.
  3. Upload the new files carefully.
  4. Do not overwrite your .env file.
  5. Run composer install.
  6. Run migrations.
  7. Rebuild frontend assets.
  8. Clear application cache.
composer install --no-dev --optimize-autoloader
php artisan migrate
npm install
npm run build
php artisan optimize:clear

14 Troubleshooting

Issue Possible Solution
500 Server Error Check storage/logs/laravel.log, file permissions, PHP version, and .env values.
CSS/JS Not Loading Run npm run build, check public/build, and confirm APP_URL.
Images Not Showing Run php artisan storage:link and check storage folder permissions.
Stripe Not Working Check Stripe secret key, webhook secret, webhook events, and HTTPS configuration.
Email Not Sending Check SMTP credentials, mail port, encryption, and sender address.
Route Not Found Run php artisan route:clear and confirm the uploaded files are complete.

Useful Commands

php artisan optimize:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
php artisan cache:clear
php artisan storage:link

15 Support

If you need help, please contact the author through the support section. Include your purchase code, website URL, screenshots, error message, and Laravel log details.

Thank you for choosing ListifyPro.
We hope this product helps you build a powerful business directory, service booking, and vendor marketplace platform.