Skip to content

wontonee/vortex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

49 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Vortex - Open Source Laravel E-Commerce Platform

A modern, extensible e-commerce platform built with Laravel 12, Inertia.js, Vue 3.5, and TypeScript. Vortex provides a complete solution for building online stores with a powerful admin panel, flexible theme system, and modular architecture.

License PHP Laravel Vue.js TypeScript Tailwind CSS

✨ Features

πŸ›οΈ Shop Features

  • Product Management: Complete product catalog with variants, attributes, and inventory tracking
  • Shopping Cart: Real-time cart with session persistence and guest checkout support
  • Multi-Payment Gateway: Support for Stripe, Razorpay, and extensible payment methods
  • Order Management: Comprehensive order tracking and management
  • Customer Accounts: User registration, authentication, and order history
  • Theme System: Flexible theme architecture with easy customization

πŸŽ›οΈ Admin Features

  • Dashboard: Analytics and insights at a glance
  • Product Management: Create and manage products, categories, brands, and attributes
  • Order Processing: Complete order lifecycle management
  • Customer Management: Customer profiles, addresses, and notes
  • Settings: Store configuration, payment methods, shipping rates, tax rules
  • Email Templates: Customizable transactional email templates
  • CMS: Content management for pages and blocks
  • Reports: Sales, customer, and inventory reporting

πŸ”§ Technical Features

  • Modular Architecture: Package-based structure for easy extension
  • Multi-Database Support: MySQL and SQLite compatibility
  • Modern Frontend: Vue 3 with TypeScript and Tailwind CSS
  • Inertia.js: SPA-like experience without API complexity
  • Two-Factor Authentication: Enhanced security with 2FA support
  • Email Verification: Built-in email verification workflow
  • Fortify Integration: Laravel Fortify for authentication

πŸ“‹ Requirements

  • PHP: 8.2 or higher
  • Composer: 2.x
  • Node.js: 18.x or higher
  • NPM: 9.x or higher
  • Database: MySQL 8.0+ or SQLite 3.x
  • Extensions: OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype, JSON, BCMath

πŸš€ Installation

1. Clone the Repository

git clone https://github.com/yourusername/vortex.git
cd vortex

2. Install PHP Dependencies

composer install

3. Install JavaScript Dependencies

npm install

4. Environment Configuration

Copy the example environment file and generate an application key:

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

5. Database Setup

Option A: Using MySQL

  1. Create a MySQL database:
CREATE DATABASE vortex CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. Update your .env file:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=vortex
DB_USERNAME=your_username
DB_PASSWORD=your_password

Option B: Using SQLite

  1. Create the database file:
touch database/database.sqlite
  1. Update your .env file:
DB_CONNECTION=sqlite

6. Run Migrations and Seeders

php artisan migrate --seed

This will create all necessary tables and seed initial data including:

  • Admin user (admin@wontonee.com / password)
  • Sample products and categories
  • Default settings and configurations
  • Payment methods
  • Email templates

7. Build Frontend Assets

For development:

npm run dev

For production:

npm run build

8. Storage Link

Create a symbolic link for storage:

php artisan storage:link

9. Start the Development Server

php artisan serve

Your Vortex installation should now be accessible at http://localhost:8000

πŸ” Default Credentials

Admin Panel

  • URL: http://localhost:8000/admin/login
  • Email: admin@wontonee.com
  • Password: password

⚠️ Important: Change these credentials immediately after installation!

Customer Account

You can register a new customer account from the frontend or use the seeded test account if available.

βš™οΈ Configuration

Store Settings

Configure your store through the admin panel:

  1. Navigate to Settings > Store Configuration
  2. Set your store name, currency, timezone, and other preferences
  3. Configure payment methods in Settings > Payment Methods
  4. Set up shipping rates in Settings > Shipping
  5. Configure tax rules in Settings > Tax Rules

Email Configuration

Update your .env file with your email provider settings:

MAIL_MAILER=smtp
MAIL_HOST=your-smtp-host
MAIL_PORT=587
MAIL_USERNAME=your-email
MAIL_PASSWORD=your-password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=noreply@yourstore.com
MAIL_FROM_NAME="${APP_NAME}"

Payment Gateway Setup

Stripe

STRIPE_KEY=your_publishable_key
STRIPE_SECRET=your_secret_key
STRIPE_WEBHOOK_SECRET=your_webhook_secret

Razorpay

RAZORPAY_KEY=your_key_id
RAZORPAY_SECRET=your_secret_key

Enable payment methods in Settings > Payment Methods in the admin panel.

πŸ§ͺ Running Tests

Vortex includes a comprehensive test suite using Pest PHP:

# Run all tests
./vendor/bin/pest

# Run specific test suite
./vendor/bin/pest tests/Feature
./vendor/bin/pest tests/Unit

# Run with coverage
./vendor/bin/pest --coverage

🎨 Theme Development

Vortex uses a flexible theme system. The default theme is located in themes/vortex-default/.

Creating a Custom Theme

  1. Copy the default theme:
cp -r themes/vortex-default themes/your-theme-name
  1. Update theme configuration in config/theme.php:
'active' => 'your-theme-name',
  1. Customize the theme files:
  • Pages: themes/your-theme-name/resources/views/pages/
  • Components: themes/your-theme-name/resources/views/components/
  • Layouts: themes/your-theme-name/resources/views/layouts/

πŸ“¦ Package Structure

Vortex is organized into modular packages:

packages/Vortex/
β”œβ”€β”€ Admin/          # Admin panel functionality
β”œβ”€β”€ Cart/           # Shopping cart management
β”œβ”€β”€ CMS/            # Content management
β”œβ”€β”€ Core/           # Core functionality and utilities
β”œβ”€β”€ Customer/       # Customer management
β”œβ”€β”€ Marketing/      # Marketing tools
β”œβ”€β”€ Product/        # Product management
β”œβ”€β”€ Reports/        # Reporting and analytics
β”œβ”€β”€ Sales/          # Order and sales management
β”œβ”€β”€ Settings/       # System settings
β”œβ”€β”€ Shop/           # Frontend shop functionality
β”œβ”€β”€ Stripe/         # Stripe payment integration
β”œβ”€β”€ Razorpay/       # Razorpay payment integration
└── System/         # System utilities

πŸ› οΈ Development

Code Style

Vortex follows PSR-12 coding standards for PHP and ESLint rules for JavaScript/TypeScript.

Run linters:

# PHP
./vendor/bin/phpcs

# JavaScript/TypeScript
npm run lint

Building Assets in Watch Mode

npm run dev

Clearing Caches

php artisan optimize:clear

🚒 Deployment

Production Checklist

  1. Set APP_ENV=production and APP_DEBUG=false in .env
  2. Run composer install --optimize-autoloader --no-dev
  3. Run npm run build
  4. Run php artisan config:cache
  5. Run php artisan route:cache
  6. Run php artisan view:cache
  7. Set up proper file permissions:
    chmod -R 755 storage bootstrap/cache
    chown -R www-data:www-data storage bootstrap/cache
  8. Configure your web server (Nginx/Apache)
  9. Set up SSL certificate
  10. Configure job queue and scheduler

Queue Workers

Vortex uses queues for background jobs. Set up a queue worker:

php artisan queue:work

For production, use Supervisor to manage queue workers.

Scheduler

Add this cron entry to run scheduled tasks:

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

🀝 Contributing

We welcome contributions! Please follow these guidelines:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Coding Standards

  • Follow PSR-12 for PHP code
  • Use meaningful variable and method names
  • Write tests for new features
  • Update documentation as needed

πŸ“ License

Vortex is open-source software licensed under the MIT license.

πŸ™ Credits

Built with:

πŸ“ž Support

πŸ—ΊοΈ Roadmap

  • Multi-vendor marketplace support
  • Advanced inventory management
  • Subscription products
  • Advanced SEO tools
  • Mobile app (React Native)
  • Multi-language support (i18n)
  • Advanced analytics dashboard
  • Integration marketplace

Made with ❀️ by the Vortex Team

About

Open Source Laravel Vue JS Ecommerce

Resources

Stars

Watchers

Forks

Packages

No packages published