8000 GitHub - Sunwarul/ecommerce: Complete E-Commerce Solution. Multi-tenancy (SaaS), Multi-vendor, REST API, modern UI/UX. Built with PHP, Laravel, Inertia, Vue JS, & MySQL. Docker, Redis, Playwright testing, and Vite used as well.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Complete E-Commerce Solution. Multi-tenancy (SaaS), Multi-vendor, REST API, modern UI/UX. Built with PHP, Laravel, Inertia, Vue JS, & MySQL. Docker, Redis, Playwright testing, and Vite used as well.

Notifications You must be signed in to change notification settings

Sunwarul/ecommerce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
8000  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

E-Commerce with POS

Multi-tenant, Multi-vendor E-commerce with POS

Modules:

  • User (Registration, Login, Authentication, Authorization, RolePermission)
  • Blog
  • Cart
  • Payment (Multi-currency, Payment methods)
  • Notification
  • POS
  • Setting (Language, Theme (Dark/Light), RTL)
  • Utility

Frontend (Website) features:

  • Home-page / Landing page

    • Navigation
    • Sliders
    • Products (Trending, Features, Category-wise)
    • Hot Deals
    • Flash sales
    • Just for you
    • Campaign
    • Advertisement (Static banner, One-time popup - GIF, etc)
    • Search
    • Recently sold products
    • Best seller
    • Kids zone
    • Featured category/products
    • Footer (Navigation, Payment method banner, Social media links, Mobile app QR codes, etc)
    • Live customer support (Chat popup)
    • Subscribe to newsletter form
    • Sitemap
    • Become a seller
  • Help and Support Center

  • Return and Refunds

  • Contact us page

  • About-us (T&C, Privacy policy, FAQ, etc)

  • Subscribe to newsletter

  • Blogs

  • Product explore/search page (with filter, sorting, searching, pagination, etc)

  • Product detail page

  • Product search, filter (based on color, price, category, etc)

  • Cart system

  • Order system

  • Order Tracking with current status

  • Payment methods (Stripe, SSLCommerze, AmaarPay, Paddle, Razor, etc)

  • Invoice and Receipts

  • Notifications (Push, Email, SMS, etc)

  • Multi language (URL based e.g. www.site.com/en/products, bookmarkable)

  • RTL (For middle-east customer base)

  • Themes (Dark, Colorization if wanted)

  • POS Layout

  • Referral, Reward, Digital Wallet

  • Partnership & Vendor Program

  • Product review and user feedback (rating)

  • Login and Registration

  • Two factor authentication, Email verification, Forgot password

  • Social media Login (Using Google, Facebook, GitHub, etc)

Admin Panel:

  • Product (with variations for colors, size, weight, etc attributes)

  • Product stock, lot, and stock alerts

  • Category, Sub-category, Tag

  • Product bulk import/export to excel,sql,etc

  • Realtime notification

  • Realtime sales report

  • User management

  • Role management

  • Permission management

  • Site settings

  • Multi-language

  • Dark theme

  • Theme system for front-end

  • Paid Plugin system (as wordpress or akaunting)

  • Re-usable media library (File manager)

  • User and Admin Activity Log

  • User ban and restrictions

  • Multi currency system (with conversion rate module)

  • Inventory module

  • Warehouse module

  • Transportation

  • Product delivery

  • Warranty & Guarranty

  • Product servicing/troubleshooting

  • Accounting module

  • Planning, Goals, Targets

  • Asset management (with depreciations)

  • Utilities

    • Todo (& Reminders)
    • Calender (English, Bengali, Arabic, etc)
    • Note taking (With export and backup facility)
    • Image editor (crop, resize, rotation, etc)
  • CRM

    • Customer database with necessary tools to operate
    • Lead generation, analysis, behavior research
  • Marketing Tools

    • Email marketing
    • SMS marketing and vendors setup
    • Social media marketing
  • Human Resource

    • Career page, job posting, filtering, interviews, etc
    • Employees (Registration, Appointment, ID Card, Dept.)
    • Payroll (Salary calculation, Leave, Attendance, Pay-checks, etc)
    • Performance tracking, feedback, training
    • Resign, Suspend, Final-Settlements

Dev related:

  • Error tracking realtime via Slack notification
  • Sentry integration
  • Monitoring using Laravel telescope, pulse, etc
  • Tracking health using health monitor and set alerts
  • Automated backup mechanism
  • Containerization using Docker
  • Auto scaling based on user load
  • CDN, Storage services, CI/CD pipeline integration
  • Automated End-to-End tests using Playwright
  • Common attacks and security measure (SQL injection, XSS, CSRF, CORS, etc)
  • Other tools and practices
    • Laravel Debugbar
    • Vite, PostCSS, Mailhog, Pint, PEST
    • Version controlling: Git & GitHub

REST API Development

  • Swagger (Open API) endpoints generation
  • JWT authentication & authorization with refresh-token (Using Sanctum)
  • If requried, implement OAuth 2.0 using Laravel Passport package
  • Use API versioning and appropriate HTTP status codes

Strategies:

Full-fledge: SaaS (Platform -> Addons/plugin, Themes, Subscription -> user domain/sub-domain, etc)

- Main App +
- Multitenancy -> Module
- Plugins system -> Module
- Theme system -> Module
- Super-super-admin panel -> Module

CodeCanyone:

App:

Frontend (Professional UiUx Figma, Responsive, Approval req.) Admin panel Super admin panel

- Core
- Basic
- ...

Example project structure:

ecommerce-pos/ │── app/ │ ├── Console/ │ ├── Exceptions/ │ ├── Http/ │ │ ├── Controllers/ │ │ │ ├── API/ # REST API Controllers │ │ │ ├── Admin/ # Admin Panel Controllers │ │ │ ├── Auth/ # Authentication Controllers │ │ │ ├── Frontend/ # Frontend Controllers │ │ │ ├── POS/ # POS Controllers │ │ │ ├── SuperAdmin/# Super Admin Panel Controllers │ │ │ ├── User/ # User Controllers │ │ ├── Middleware/ │ │ ├── Requests/ # Form Requests Validation │ │ ├── Resources/ # API Resource Transformers │ ├── Models/ # Eloquent Models │ ├── Services/ # Business Logic Services │ ├── Repositories/ # Database Queries & Caching │ ├── Providers/ │ ├── Policies/ │ ├── Rules/ │── bootstrap/ │── config/ │── database/ │ ├── factories/ │ ├── migrations/ │ ├── seeders/ │── resources/ │ ├── css/ # Stylesheets (Tailwind, SCSS) │ ├── js/ │ │ ├── Pages/ │ │ │ ├── Auth/ # Login, Register, Forgot Password, etc. │ │ │ ├── Admin/ # Admin Panel Vue Components │ │ │ ├── Frontend/ # Website Pages │ │ │ ├── POS/ # POS Pages │ │ │ ├── SuperAdmin/# Super Admin Pages │ │ │ ├── User/ # User Dashboard Pages │ │ ├── Components/ # Shared Components │ │ ├── Layouts/ # Main Layouts (Auth, Admin, Frontend, POS) │ │ ├── Stores/ # Vuex / Pinia Stores │ │ ├── Composables/ # Vue 3 Composables │ │ ├── Router/ # Vue Router │ │ ├── Utils/ # Helper functions │ │ ├── Directives/ # Custom Vue Directives │ │ ├── Plugins/ # Third-party integrations (Axios, Toast, etc.) │ │ ├── App.vue │ │ ├── main.js │ ├── views/ # Blade fallback views (Minimal) │── routes/ │ ├── api.php # API Routes │ ├── web.php # Web Routes │ ├── admin.php # Admin Routes │ ├── superadmin.php # Super Admin Routes │ ├── pos.php # POS Routes │ ├── auth.php # Authentication Routes │── storage/ │── tests/ │── public/ │ ├── assets/ │ ├── images/ │ ├── uploads/ │── docker/ │── .env │── artisan │── composer.json │── package.json │── vite.config.js │── tailwind.config.js │── postcss.config.js │── README.md

laravel-ecommerce-pos/ ├── app/ │ ├── Console/ │ │ └── Commands/ │ │ ├── GenerateTenant.php │ │ ├── BackupDatabase.php │ │ └── SyncCurrencyRates.php │ ├── Exceptions/ │ │ └── Handler.php │ ├── Http/ │ │ ├── Controllers/ │ │ │ ├── Auth/ │ │ │ │ ├── LoginController.php │ │ │ │ ├── RegisterController.php │ │ │ │ ├── TwoFactorController.php │ │ │ │ └── SocialLoginController.php │ │ │ ├── Frontend/ │ │ │ │ ├── HomeController.php │ │ │ │ ├── ProductController.php │ │ │ │ ├── CartController.php │ │ │ │ ├── OrderController.php │ │ │ │ └── BlogController.php │ │ │ ├── Admin/ │ │ │ │ ├── DashboardController.php │ │ │ │ ├── ProductController.php │ │ │ │ ├── UserController.php │ │ │ │ ├── RoleController.php │ │ │ │ ├── InventoryController.php │ │ │ │ └── SettingController.php │ │ │ ├── SuperAdmin/ │ │ │ │ ├── TenantController.php │ │ │ │ ├── PluginController.php │ │ │ │ └── ThemeController.php │ │ │ ├── POS/ │ │ │ │ └── POSController.php │ │ │ └── Api/ │ │ │ ├── v1/ │ │ │ │ ├── ProductController.php │ │ │ │ ├── OrderController.php │ │ │ │ └── AuthController.php │ │ ├── Middleware/ │ │ │ ├── Authenticate.php │ │ │ ├── AuthorizeRole.php │ │ │ ├── TenantMiddleware.php │ │ │ ├── LanguageMiddleware.php │ │ │ └── ThemeMiddleware.php │ │ ├── Kernel.php │ │ └── Requests/ │ │ ├── ProductStoreRequest.php │ │ ├── OrderStoreRequest.php │ │ └── UserUpdateRequest.php │ ├── Models/ │ │ ├── User.php │ │ ├── Role.php │ │ ├── Permission.php │ │ ├── Product.php │ │ ├── Category.php │ │ ├── Order.php │ │ ├── Cart.php │ │ ├── Tenant.php │ │ ├── Plugin.php │ │ ├── Theme.php │ │ ├── Notification.php │ │ └── Inventory.php │ ├── Providers/ │ │ ├── AppServiceProvider.php │ │ ├── AuthServiceProvider.php │ │ ├── TenantServiceProvider.php │ │ └── PluginServiceProvider.php │ ├── Services/ │ │ ├── PaymentService.php │ │ ├── NotificationService.php │ │ ├── CurrencyConversionService.php │ │ └── TenantService.php │ └── Traits/ │ ├── HasMultiTenancy.php │ ├── HasPermissions.php │ └── HasActivityLog.php ├── bootstrap/ │ └── app.php ├── config/ │ ├── app.php │ ├── auth.php │ ├── database.php │ ├── tenancy.php │ ├── payments.php │ ├── themes.php │ ├── plugins.php │ └── languages.php ├── database/ │ ├── migrations/ │ │ ├── 2023_01_01_000001_create_users_table.php │ │ ├── 2023_01_01_000002_create_roles_table.php │ │ ├── 2023_01_01_000003_create_products_table.php │ │ ├── 2023_01_01_000004_create_tenants_table.php │ │ └── 2023_01_01_000005_create_orders_table.php │ ├── seeders/ │ │ ├── DatabaseSeeder.php │ │ ├── RoleSeeder.php │ │ └── TenantSeeder.php │ └── factories/ │ ├── UserFactory.php │ ├── ProductFactory.php │ └── OrderFactory.php ├── public/ │ ├── index.php │ ├── storage/ (symlink) │ ├── themes/ │ │ ├── default/ │ │ │ ├── css/ │ │ │ └── js/ │ │ └── dark/ │ └── plugins/ ├── resources/ │ ├── css/ │ │ └── app.css │ ├── js/ │ │ ├── app.js │ │ ├── bootstrap.js │ │ └── Pages/ (Inertia.js pages) │ │ ├── Frontend/ │ │ │ ├── Home.vue │ │ │ ├── Product/ │ │ │ │ ├── Index.vue │ │ │ │ ├── Show.vue │ │ │ │ └── Search.vue │ │ │ ├── Cart.vue │ │ │ ├── Order/ │ │ │ │ ├── Index.vue │ │ │ │ └── Track.vue │ │ │ ├── Blog/ │ │ │ │ ├── Index.vue │ │ │ │ └── Show.vue │ │ │ ├── Auth/ │ │ │ │ ├── Login.vue │ │ │ │ ├── Register.vue │ │ │ │ └── TwoFactor.vue │ │ │ └── Contact.vue │ │ ├── Admin/ │ │ │ ├── Dashboard.vue │ │ │ ├── Product/ │ │ │ │ ├── Index.vue │ │ │ │ ├── Create.vue │ │ │ │ └── Edit.vue │ │ │ ├── User/ │ │ │ │ ├── Index.vue │ │ │ │ └── Edit.vue │ │ │ ├── Settings.vue │ │ │ └── Inventory.vue │ │ ├── SuperAdmin/ │ │ │ ├── Dashboard.vue │ │ │ ├── Tenant/ │ │ │ │ ├── Index.vue │ │ │ │ └── Create.vue │ │ │ ├── Plugin/ │ │ │ │ ├── Index.vue │ │ │ │ └── Install.vue │ │ │ └── Theme/ │ │ │ ├── Index.vue │ │ │ └── Customize.vue │ │ ├── POS/ │ │ │ └── POS.vue │ │ ├── Components/ (Reusable Vue components) │ │ │ ├── Navbar.vue │ │ │ ├── Footer.vue │ │ │ ├── ProductCard.vue │ │ │ ├── Slider.vue │ │ │ ├── Notification.vue │ │ │ ├── ChatSupport.vue │ │ │ └── Pagination.vue │ │ ├── Layouts/ │ │ │ ├── FrontendLayout.vue │ │ │ ├── AdminLayout.vue │ │ │ ├── SuperAdminLayout.vue │ │ │ └── POSLayout.vue │ │ └── Plugins/ (Vue components for plugins) │ ├── lang/ │ │ ├── en/ │ │ │ ├── messages.php │ │ │ └── validation.php │ │ ├── ar/ │ │ └── bn/ │ └── views/ │ ├── app.blade.php (Inertia base template) │ └── emails/ │ ├── order_confirmation.blade.php │ └── notification.blade.php ├── routes/ │ ├── web.php │ ├── api.php │ ├── admin.php │ ├── superadmin.php │ ├── pos.php │ └── channels.php ├── storage/ │ ├── app/ │ │ ├── public/ │ │ └── tenants/ │ ├── framework/ │ └── logs/ ├── tests/ │ ├── Feature/ │ │ ├── AuthTest.php │ │ ├── ProductTest.php │ │ └── OrderTest.php │ ├── Unit/ │ └── Browser/ (Playwright or Dusk tests) ├── vendor/ ├── .env ├── .env.example ├── artisan ├── composer.json ├── package.json ├── vite.config.js ├── Dockerfile ├── docker-compose.yml └── README.md

About

Complete E-Commerce Solution. Multi-tenancy (SaaS), Multi-vendor, REST API, modern UI/UX. Built with PHP, Laravel, Inertia, Vue JS, & MySQL. Docker, Redis, Playwright testing, and Vite used as well.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
0