v2.4.0 · Current Distribution

The modular

marketplace engine

Sellio is a modular marketplace ecosystem built with Laravel 12 and a service-oriented architecture. Activate eight marketplace verticals — products, properties, autos, events, jobs, services, and classifieds — from one unified admin core.

Live demo access

Explore the seeded demo environment before you deploy. These accounts are created by DatabaseSeeder when demo data is imported.

Admin
Emailadmin@sellio.buzz
Passwordadmin123
Open admin dashboard
Partner (seller)
Emailpartner@sellio.buzz
Passwordpartner123
Open seller panel
Buyer
Emailbuyer@sellio.buzz
Passwordbuyer123
Open buyer panel

If you used the web installer, the admin account is the one you created on the final step (it may replace user ID 1). Partner and buyer demo accounts still exist when demo seeding ran. Rotate or remove all demo passwords before production.

Core Capabilities

Polymorphic data

Media, reviews, and analytics attach seamlessly to any listing type — whether it is a car, a property, or a job post.

Real-time metrics

High-performance analytics with atomic increments keeps view counts and engagement data accurate without blocking database threads.

Executive security

Role-based access control with default roles and custom permissions. Sanctum-ready for secure API access.

Environment Specification

Sellio requires a modern server environment. The web installer audits these automatically; use this list when preparing a host.

  • PHP: 8.2+ (8.3 recommended)
  • Database: MySQL 8.0+ or MariaDB 10.11+
  • Server: Nginx or Apache with mod_rewrite
  • Memory: 512MB RAM minimum (1GB+ for seeding)
  • Functions: exec and passthru enabled (web installer)
  • Writable: storage/ and bootstrap/cache/
  • Extensions: BCMath, Ctype, Exif, Fileinfo, GD, Intl, Mbstring, OpenSSL, PDO, Tokenizer, XML, Zip
  • Assets: public/build/manifest.json (included in distribution ZIP)

Installation Pipeline

Choose your install method: Use FTP / cPanel if you are on shared hosting — the guided web installer handles everything in the browser. Use Expert CLI if you have SSH access and prefer running Artisan commands directly.

1

Asset extraction & dependency sync

From the monorepo, work inside apps/backend. On a production server after extracting the distribution package, run Composer in the uploaded backend root:

composer install --no-dev --optimize-autoloader
2

Environment setup

Initialize your environment variables and generate the secure application key:

cp .env.example .env && php artisan key:generate
3

Atomic schema deployment

Ensure your .env database credentials are set, then execute:

php artisan migrate --seed --force && php artisan storage:link

This runs the Golden Dataset Seeder, populating all enabled verticals with high-fidelity sample data.

Core Configuration

The primary configuration hub is the .env file. After any modification, run php artisan config:clear (or php artisan optimize:clear in production after testing).

Mail service setup

Configure SMTP in .env or use the optional mail fields in the web installer. Transactional providers like Mailgun or SendGrid are recommended.

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=postmaster@yourdomain.com
MAIL_PASSWORD=your-secure-password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=no-reply@yourdomain.com

CORS & API origins

Seller and buyer panels call the Laravel API from separate subdomains. Set allowed origins in Admin → Settings → General → API CORS Origins, or optionally seed CORS_ALLOWED_ORIGINS in .env as a fallback.

Portal Panels (Seller & Buyer)

Production deployments usually host the React seller and buyer panels on separate subdomains. Upload only the pre-built dist/ contents — no Node.js build is required on the server.

1

Upload panel builds

Deploy apps/seller/dist/ to your seller subdomain and apps/buyer/dist/ to your buyer subdomain (see distribution/SERVER-DEPLOY.md after running npm run prepare:distribution).

2

Edit public/config.js

Each panel reads runtime config from config.js — update this file in cPanel without rebuilding:

window.SELLIO_CONFIG = {
  apiUrl: 'https://your-laravel-domain.com/api',
  storefrontUrl: 'https://your-laravel-domain.com',
  basePath: '' // e.g. '/buyer' when not on a dedicated subdomain
};

An amber setup banner appears on login when config.js still contains placeholder URLs. The buyer Settings → Backend tab shows the live values read from this file.

Background Orchestration

Expiration tracking, notifications, and queued jobs require the scheduler and (when using the database/redis queue driver) a long-running worker.

Scheduler (cron job)

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

Runs cleanup tasks, recurring payments, and scheduled commands every minute.

Queue worker

php artisan queue:work --tries=3

Keep a worker process alive under Supervisor or systemd when QUEUE_CONNECTION is not sync. Use database on shared hosting if Redis is unavailable.

Maintenance & Updates

Follow this workflow to update your platform without data loss.

1. Payload swap

Replace all files in your installation directory except .env and storage/app/public.

2. Schema sync

Run php artisan migrate to sync new database columns and tables with your existing data.

3. Cache purge

Run php artisan optimize:clear to ensure new configuration and routing changes are registered.

Real Estate Intelligence

A sophisticated vertical designed for property brokers and stay-management agencies.

Amenity registry

Customizable attributes (e.g. infinity pool, smart home) that can be toggled per property type.

Stay engine

Integrated booking system with night-based pricing and availability calendars.

Automotive Hub

Engineered for dealership-grade car listing management.

Inquiry management

Buyers can request quotes, test drives, or service history directly from listing pages.

Vehicle matrix

Support for engine size, fuel type, transmission, drive train, and other dealership-grade specs.

E-Commerce Engine

A complete retail solution with cart, checkout, and inventory tracking.

Variation matrix

Multiple sizes, colors, and SKUs per product with independent pricing.

Order lifecycle

Full tracking from pending to processing to completed with automated buyer notifications.

Jobs & Talent

A recruitment vertical for employers and candidates with structured job listings and applications.

Job listings

Partners publish roles with salary bands, location, employment type, and rich descriptions.

Applicant pipeline

Applicants submit profiles and CVs; admins and partners review candidates from the dashboard.

Services & Booking

Bookable services for salons, clinics, consultants, and other appointment-based businesses.

Appointment slots

Configure availability windows, duration, and pricing per service offering.

Booking lifecycle

Buyers reserve slots; partners confirm, reschedule, or complete appointments from the seller panel.

Events & Tickets

Ticketed events, conferences, and venue listings with inventory-aware booking.

Ticket tiers

Multiple ticket types per event with independent pricing and capacity limits.

Booking manifest

Admins and partners review attendee bookings, payment status, and check-in data from the dashboard.

Classified Ads

General-purpose listings for local marketplaces, community boards, and peer-to-peer sales.

Flexible taxonomy

Category trees and location filters adapt to any non-specialized inventory type.

Lead capture

Buyers contact sellers through built-in messaging and inquiry flows shared across verticals.

Financial Ecosystem

Sellio manages capital flow between buyers, partners, and the platform admin. Partner wallets and withdrawals are managed from the admin panel; the buyer panel focuses on orders and bookings rather than wallet top-ups.

Partner wallet ledger

Powered by bavix/laravel-wallet, partner balances use double-entry bookkeeping to prevent discrepancies during concurrent payouts and commission deductions.

Withdrawal lifecycle

Payment gateways

Configure Stripe and PayPal secrets via Admin → Settings → APIs. Native webhook support is included for automated order fulfillment.

RBAC & Identity Framework

Sellio enforces strict data isolation and permission hierarchies.

Role Principal purpose Access level
Super Admin Platform owner Unrestricted (bypass protocol)
Admin Operations staff Configurable module access
Partner Vendors & agents Private inventory management
User Customers Profile & order tracking

Business Monetization Guide

Sellio provides three primary revenue streams out of the box:

1. Subscription plans

Charge partners monthly fees to list items on the platform.

2. Sales commissions

Automatically deduct a percentage from every e-commerce sale or booking.

3. Ad placements

Sell premium advertisement slots across the homepage and search results using the Ad module.

Advanced Backend Engineering

Sellio's codebase is designed to be modified and extended by developers.

Service layer pattern

Business logic is decoupled from the HTTP layer. Major modules (e.g. PropertyService, FinancialService) can be called from web, API, or CLI without rewriting logic.

Modular traits

API Integration

Sellio ships with a documented REST API consumed by the seller and buyer panels, plus optional mobile or headless clients.

Scramble documentation

Interactive OpenAPI docs are served at /docs/api on your Laravel host (dedoc/scramble). Endpoints reflect live validation rules and rate limits.

Sanctum authentication

Issue bearer tokens for SPA and mobile clients. API routes use throttled limiters (api, api-auth, api-write) for production safety.

Point portal config.js apiUrl values to https://your-domain.com/api and whitelist panel origins in admin CORS settings.

Post-install Security

Complete this checklist before accepting live traffic.

  • Delete or rename public/install/ after setup (installed.lock blocks re-entry).
  • Set APP_ENV=production, APP_DEBUG=false, and INSTALLER_DEBUG=false in .env.
  • Rotate or remove all demo user passwords if sample data was imported.
  • Run php artisan storage:link so uploaded media is publicly reachable.
  • Cache config, routes, and views in production (php artisan optimize).
  • Configure cron + queue worker for mail, expirations, and background jobs.
  • Ensure storage/ and bootstrap/cache/ are writable by the web server.

Troubleshooting

Common issues and their resolutions.

404 errors on internal pages

Usually caused by missing .htaccess (Apache) or incorrect try_files (Nginx). Ensure mod_rewrite is enabled.

Blank screen / 500 error

Check storage/logs/laravel.log. This is often incorrect folder permissions — ensure storage and bootstrap/cache are writable (chmod 775).

Missing styles on login

Run npm run build in the backend to generate public/build/, or deploy the distribution ZIP which includes pre-built assets. A guest CSS fallback covers basic login styling when the Vite manifest is absent.

Seller / buyer panel shows empty data

Almost always incorrect public/config.js on the panel subdomain. Set apiUrl to your Laravel host + /api and add the panel origin to API CORS in admin settings.

Support & Changelog

Scope of support

Assistance is provided for platform bugs and documented features. Free support does not cover third-party customizations or server-side configuration issues.

Contact support via Envato

Release registry

v2.4.0 Current distribution
v1.0.0 7 Jun 2026