Vimstack is a powerful, full-featured multi-store e-commerce platform built as a Software-as-a-Service (SaaS) solution, specifically customized for the Uganda market. It allows users to create, manage, and operate unlimited online stores from a single centralized dashboard. This platform is designed for entrepreneurs, agencies, and businesses looking to launch their own multi-tenant e-commerce platform with Uganda-specific features including UGX currency, local payment gateways, and Uganda tax configurations.
The platform operates on a SaaS model where:
- Platform Owners can create subscription plans and manage multiple tenants
- Store Owners subscribe to plans and create their own branded online stores
- Customers shop at individual storefronts with unique themes and branding
- Each store operates independently with its own products, orders, customers, and settings
- Laravel 12.x - Modern PHP framework for robust backend architecture
- PHP 8.2+ - Latest PHP version with enhanced performance and features
- React 19.x - Latest React library for building interactive user interfaces
- TypeScript 5.7+ - Type-safe JavaScript for better code quality
- Inertia.js 2.0 - Modern approach to building SPAs without API complexity
- Vite 6.0 - Next-generation frontend build tool for fast development
- Tailwind CSS 4.0 - Utility-first CSS framework for rapid UI development
- Radix UI - Unstyled, accessible component primitives
- Dialog, Dropdown Menu, Select, Tabs, Popover, Tooltip, and more
- Headless UI - Unstyled, accessible UI components
- Lucide React - Beautiful icon library
- Recharts - Composable charting library for analytics
- TipTap - Rich text editor for content management
- Inertia.js - Handles routing and data sharing between Laravel and React
- React Context API - For global state management (Cart, Wishlist, Theme, etc.)
- Ziggy - Laravel route helper for JavaScript
- i18next - Internationalization framework for multi-language support
- date-fns - Modern JavaScript date utility library
- FullCalendar - Calendar component for scheduling
- React DnD - Drag and drop functionality
- QR Code Libraries - For generating QR codes
- Sonner - Toast notification library
laravel/framework: ^12.0- Laravel core frameworkinertiajs/inertia-laravel: ^2.0- Inertia.js Laravel adaptertightenco/ziggy: ^2.4- Route helper for JavaScript
spatie/laravel-permission: ^6.18- Role and permission managementlab404/laravel-impersonate: ^1.7- User impersonation for admin support
stripe/stripe-php: ^17.3- Stripe payment processingrazorpay/razorpay: ^2.8- Razorpay (India)mollie/mollie-api-php: ^3.1- Mollie (Europe)mercadopago/dx-php: ^2.5- MercadoPago (Latin America)paytabscom/laravel_paytabs: ^1.9- PayTabs (Middle East)cashfree/cashfree-pg: ^5.0- Cashfree (India)coingate/coingate-php: ^4.1- CoinGate (Cryptocurrency)iyzico/iyzipay-php: ^2.0- Iyzico (Turkey)yoomoney/yookassa-sdk-php: ^3.8- YooKassa (Russia)fedapay/fedapay-php: ^0.4.7- FedaPay (Africa)authorizenet/authorizenet: ^2.0- Authorize.Net (US)- And 20+ more payment gateway integrations
spatie/laravel-medialibrary: ^11.13- Advanced media library for file managementleague/flysystem-aws-s3-v3: ^3.29- AWS S3 storage support
openai-php/client: ^0.14.0- OpenAI ChatGPT integration for AI-powered features
rachidlaasri/laravel-installer: ^4.1- Web-based installer for easy setup
laravel/pail: ^1.2.2- Real-time log viewerlaravel/pint: ^1.18- Code style fixerpestphp/pest: ^3.8- Modern PHP testing frameworkfakerphp/faker: ^1.23- Fake data generator for testing
react: ^19.0.0- React libraryreact-dom: ^19.0.0- React DOM renderer@inertiajs/react: ^2.0.0- Inertia.js React adapter
@radix-ui/react-*- Multiple Radix UI components (Dialog, Dropdown, Select, Tabs, etc.)@headlessui/react: ^2.2.0- Headless UI componentslucide-react: ^0.475.0- Icon libraryclass-variance-authority: ^0.7.1- Component variant managementclsx: ^2.1.1- Conditional className utilitytailwind-merge: ^3.0.1- Merge Tailwind classes intelligently
tailwindcss: ^4.0.0- Tailwind CSS framework@tailwindcss/vite: ^4.0.6- Tailwind Vite plugintailwindcss-animate: ^1.0.7- Animation utilitiestailwind-scrollbar: ^4.0.2- Custom scrollbar styling
@tiptap/react: ^2.23.0- Rich text editor@tiptap/starter-kit: ^2.23.0- TipTap extensions@tiptap/extension-*- Additional TipTap extensions
recharts: ^3.1.2- Composable charting library@fullcalendar/react: ^6.1.17- Calendar component
@stripe/react-stripe-js: ^3.7.0- Stripe React components@stripe/stripe-js: ^7.4.0- Stripe.js library
i18next: ^25.2.1- Internationalization frameworkreact-i18next: ^15.5.3- React bindings for i18nexti18next-browser-languagedetector: ^8.2.0- Language detectioni18next-http-backend: ^3.0.2- HTTP backend for translations
date-fns: ^4.1.0- Date manipulation libraryqrcode: ^1.5.4- QR code generationreact-qr-code: ^2.0.18- React QR code componentreact-barcode: ^1.6.1- Barcode generationnext-themes: ^0.4.6- Dark mode supportsonner: ^2.0.3- Toast notificationscmdk: ^1.1.1- Command menu component
vite: ^6.0- Build tool and dev server@vitejs/plugin-react: ^4.3.4- Vite React pluginlaravel-vite-plugin: ^1.0- Laravel Vite integrationtypescript: ^5.7.2- TypeScript compilerconcurrently: ^9.0.1- Run multiple commands concurrently
eslint: ^9.17.0- JavaScript linterprettier: ^3.4.2- Code formatterprettier-plugin-tailwindcss: ^0.6.11- Tailwind class sorting
- Create unlimited online stores from a single dashboard
- Each store operates independently with its own:
- Products and inventory
- Orders and customers
- Payment gateways
- Theme and branding
- Settings and configurations
- Home & Accessories (Default)
- Fashion & Apparel
- Electronics & Technology
- Beauty & Cosmetics
- Jewelry & Accessories
- Watches & Timepieces
- Furniture & Interior
- Cars & Automotive
- Baby & Kids
- Perfume & Fragrances
-
Product Management
- Product creation with variants, attributes, and options
- Inventory tracking and stock management
- Product categories and tags
- Bulk import/export
- Media gallery with multiple images
-
Order Management
- Order processing and fulfillment
- Order status tracking
- Invoice generation
- Order history and analytics
-
Customer Management
- Customer profiles and accounts
- Order history per customer
- Customer segmentation
- Customer reviews and ratings
- Global: Stripe, PayPal, Bank Transfer
- India: Razorpay, Cashfree, Paystack, Flutterwave, PayTabs
- Europe: Mollie, Skrill, CoinGate
- Latin America: MercadoPago
- Middle East: PayTabs, Tap Payments, Benefit
- Africa: FedaPay, Ozow
- Asia: Iyzico (Turkey), Khalti (Nepal), Aamarpay (Bangladesh), Midtrans (Indonesia)
- Russia/CIS: YooKassa
- Cryptocurrency: CoinGate
- And many more...
- Subscription Plans: Create multiple pricing tiers
- Plan Management: Features, limits, and pricing per plan
- Plan Requests: Users can request plan upgrades
- Plan Orders: Track subscription orders and payments
- Trial Plans: Support for trial periods
- Coupon System: Discount codes for plans and products
- Granular Permissions: Fine-grained permission system
- Roles: Pre-defined and custom roles
- User Management: Create, edit, and manage users
- Impersonation: Admin can impersonate users for support
- Company Management: Multi-company support
- Built-in blog for each store
- Blog categories and tags
- SEO-friendly URLs
- Rich text editor for content creation
- Blog post scheduling
- Dashboard analytics
- Sales reports
- Customer analytics
- Product performance
- Revenue tracking
- Export capabilities (CSV, Excel)
- 17+ Languages Supported:
- English, Spanish, French, German, Italian, Portuguese, Russian, Turkish, Arabic, Chinese, Japanese, Dutch, Polish, Hebrew, Danish, and more
- Language management interface
- Translation system for store content
- POS System: Point of Sale for physical stores
- Express Checkout: Quick checkout options
- Wishlist: Customer wishlist functionality
- Coupon System: Store-level and platform-level coupons
- Tax Management: Configure tax rates by location
- Shipping Management: Multiple shipping methods and zones
- Newsletter System: Email marketing integration
- Custom Pages: Create custom pages for stores
- Email Templates: Customizable email templates
- Media Library: Advanced media management
- PWA Support: Progressive Web App capabilities
- AI Templates: ChatGPT integration for content generation
- Webhook System: Custom webhooks for integrations
- Referral System: Affiliate/referral program
- Currency Management: Multi-currency support
- Landing Page Builder: Customizable landing pages
vimstack-karane/
βββ app/ # Laravel application code
β βββ Console/ # Artisan commands
β βββ Events/ # Event classes
β βββ Helpers/ # Helper functions
β βββ Http/
β β βββ Controllers/ # 115+ controllers
β β βββ Middleware/ # Custom middleware
β β βββ Requests/ # Form request validation
β βββ Libraries/ # Third-party integrations
β βββ Listeners/ # Event listeners
β βββ Mail/ # Email classes
β βββ Models/ # 55+ Eloquent models
β βββ Observers/ # Model observers
β βββ Policies/ # Authorization policies
β βββ Providers/ # Service providers
β βββ Services/ # Business logic services
β βββ Traits/ # Reusable traits
βββ bootstrap/ # Application bootstrap
βββ build-ui/ # UI build utilities
βββ config/ # Configuration files
βββ database/
β βββ factories/ # Model factories
β βββ migrations/ # 61+ database migrations
β βββ seeders/ # 35+ database seeders
βββ public/ # Public assets
β βββ installer/ # Web installer assets
β βββ images/ # Static images
βββ resources/
β βββ css/ # Stylesheets
β βββ js/ # Frontend React/TypeScript code
β β βββ components/ # 279+ React components
β β βββ config/ # Configuration files
β β βββ contexts/ # React contexts
β β βββ data/ # Static data
β β βββ hooks/ # Custom React hooks
β β βββ layouts/ # Layout components
β β βββ pages/ # 305+ page components
β β βββ themes/ # Store theme configurations
β β βββ types/ # TypeScript types
β β βββ utils/ # Utility functions
β βββ lang/ # Translation files (17+ languages)
β βββ views/ # Blade templates
βββ routes/ # Route definitions
β βββ auth.php # Authentication routes
β βββ settings.php # Settings routes
β βββ web.php # Main web routes
βββ storage/ # Storage directory
βββ tests/ # Test files
βββ artisan # Laravel CLI
βββ composer.json # PHP dependencies
βββ package.json # Node.js dependencies
βββ vite.config.ts # Vite configuration
βββ tailwind.config.js # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
βββ README.md # Basic readme
- PHP 8.2 or higher with extensions:
- BCMath, Ctype, cURL, DOM, Fileinfo, JSON, Mbstring, OpenSSL, PCRE, PDO, Tokenizer, XML
- Composer - PHP dependency manager
- Node.js 18+ and npm (or yarn)
- MySQL/MariaDB or PostgreSQL or SQLite database
- Web Server (Apache/Nginx) or use Laravel's built-in server
# If you have the project files, navigate to the directory
cd vimstack-karanecomposer installnpm install# Copy the environment file (if .env.example exists)
# Otherwise, create a new .env file with the following minimum configuration:
APP_NAME="Vimstack SaaS"
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost:8000
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=vimstack
DB_USERNAME=root
DB_PASSWORD=
# Generate application key
php artisan key:generateOption A: Using Web Installer (Recommended)
- Start the development server:
php artisan serve
- In another terminal, start Vite:
npm run dev
- Visit
http://localhost:8000- you'll be redirected to the installer - Follow the web installer to set up your database
Option B: Manual Database Setup
# Create your database manually
# Then run migrations and seeders
php artisan migrate
php artisan db:seedTerminal 1 - Laravel Server:
php artisan serveTerminal 2 - Vite Dev Server:
npm run devOptional - Queue Worker (if using queues):
php artisan queue:work- Main Application:
http://localhost:8000 - Web Installer:
http://localhost:8000/setup(if not installed) - Admin Dashboard:
http://localhost:8000/dashboard(after login)
After running seeders, you can log in with:
Super Admin:
- Email:
superadmin@example.com - Password:
password
Admin:
- Email:
admin@example.com - Password:
password
.env- Environment variables (database, mail, payment gateways, etc.)config/app.php- Application configurationconfig/database.php- Database connectionsconfig/inertia.php- Inertia.js settingsconfig/permission.php- Permission system settingsconfig/role-permissions.php- Role and permission definitionsvite.config.ts- Vite build configurationtailwind.config.js- Tailwind CSS customizationtsconfig.json- TypeScript compiler options
The application uses 61+ migrations to create tables for:
- Users, roles, and permissions
- Companies and stores
- Products, categories, and inventory
- Orders and order items
- Customers and addresses
- Payment gateways and transactions
- Subscription plans and orders
- Blog posts and categories
- Reviews and ratings
- Coupons and discounts
- Shipping methods and zones
- Tax rates
- Media library
- And more...
The platform supports 17+ languages:
- English (en)
- Spanish (es)
- French (fr)
- German (de)
- Italian (it)
- Portuguese (pt, pt-BR)
- Russian (ru)
- Turkish (tr)
- Arabic (ar)
- Chinese (zh, zh-CN, zh-TW)
- Japanese (ja)
- Dutch (nl)
- Polish (pl)
- Hebrew (he)
- Danish (da)
- And more...
- Role-Based Access Control (RBAC) - Granular permissions
- CSRF Protection - Laravel's built-in CSRF tokens
- XSS Protection - Input sanitization
- SQL Injection Prevention - Eloquent ORM with parameter binding
- Password Hashing - Bcrypt/Argon2
- Rate Limiting - API and route rate limiting
- Encryption - Sensitive data encryption
- Secure File Uploads - File validation and storage
The platform includes PWA support:
- Service worker for offline functionality
- Web app manifest
- Installable on mobile devices
- Offline capabilities
- OpenAI ChatGPT Integration - AI-powered content generation
- AI Templates - Generate product descriptions, blog posts, etc.
- Smart Content Suggestions - AI-assisted content creation
- RESTful API endpoints
- Webhook system for third-party integrations
- Payment gateway webhooks
- Custom webhook support
- Vite - Fast build tool and HMR
- Laravel Caching - Query and route caching
- Asset Optimization - Minification and bundling
- Lazy Loading - Code splitting and lazy components
- Database Indexing - Optimized database queries
- Pest PHP - Modern PHP testing framework
- Feature Tests - 12+ feature test files
- Unit Tests - Unit test coverage
- Test Factories - Model factories for testing
# Install dependencies
composer install && npm install
# Start development servers
php artisan serve
npm run dev
# Run migrations
php artisan migrate
# Run seeders
php artisan db:seed
# Clear caches
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
# Build for production
npm run build
# Run tests
php artisan testThis platform is ideal for:
- SaaS Entrepreneurs - Launch your own multi-store platform
- Agencies - White-label solution for clients
- E-commerce Businesses - Manage multiple storefronts
- Marketplace Operators - Create a marketplace with multiple vendors
- Franchise Operations - Manage multiple franchise locations
This is a premium CodeCanyon script. Please refer to your purchase license for usage terms and conditions.
- Check the
README.mdfor basic setup instructions - Review Laravel documentation: https://laravel.com/docs
- Review React documentation: https://react.dev
- Review Inertia.js documentation: https://inertiajs.com
- Environment Variables: Make sure to configure all required environment variables in
.env - Payment Gateways: Configure payment gateway credentials in
.envor through the admin panel - File Permissions: Ensure
storage/andbootstrap/cache/directories are writable - Queue Workers: For email sending and background jobs, run queue workers
- Cron Jobs: Set up cron jobs for scheduled tasks (if applicable)
- SSL Certificate: For production, use HTTPS for secure payment processing
The platform includes a web installer that can:
- Detect new migrations
- Run database updates automatically
- Provide update status and error handling
This documentation provides a comprehensive overview of the Vimstack platform. For specific implementation details, refer to the codebase and inline comments. For Uganda-specific setup and configuration, see VIMSTACK_UGANDA_GUIDE.md.