A robust, scalable e-commerce solution for tech products, built with Laravel (PHP) and Vue.js (SPA via Inertia.js). Includes advanced admin dashboard, notifications, messaging, role-based access, and flexible settings.
- Authentication & Authorization: Secure login, registration, email verification, password reset, and role/permission management (Spatie).
- User Management: Admin, Super Admin, Manager, Customer roles. CRUD for users and customers.
- Product Catalog: Categories, brands, products, banners, reviews, wishlists, inventory management.
- Order Processing: Cart, checkout, payment, order tracking, invoices.
- Messaging System: Customer support threads, admin replies, attachments, status (active/closed).
- Notifications: Real-time notifications for orders, messages, system events (database + email).
- Settings Management: Site-wide configuration, dynamic options, grouped settings.
- Data Export/Import: Excel/CSV export for products, users, orders, brands, categories.
- Dashboard Analytics: Sales, orders, inventory alerts, unread messages/notifications.
- Responsive UI: Vuetify-based SPA, mobile-friendly, fast navigation.
- Extensible: Modular codebase, easy to add new features.
- Backend: Laravel 10+, PHP 8.1+
- Frontend: Vue.js 3, Inertia.js, Vuetify
- Database: MySQL (or compatible)
- Notifications: Laravel Notifications (database, mail)
- Authorization: Spatie Laravel-Permission
- Excel Export: Maatwebsite Laravel-Excel
- Charts: ApexCharts
- Testing: Pest, PHPUnit
-
Clone the repository
git clone <repository-url> cd tech-store
-
Install PHP dependencies
composer install
-
Install JavaScript dependencies
npm install
-
Setup environment
cp .env.example .env php artisan key:generate
-
Configure database Edit
.envwith your DB credentials. -
Run migrations & seeders
php artisan migrate --seed # or for a fresh start php artisan migrate:fresh --seed -
Link storage
php artisan storage:link
-
(Optional) Download demo assets
php artisan assets:download
-
Build frontend assets
npm run dev
-
Start development server
php artisan serve
- app/: Core Laravel code (Controllers, Models, Policies, Providers, Enums, Notifications, Exports)
- resources/js/: Vue SPA (Pages, Components, Composables, Plugins)
- database/: Migrations, Seeders, Factories
- routes/: Web, dashboard, API, auth routes
- config/: Laravel configuration files
- Super Admin: Full system access
- Admin: Manage users, products, orders, settings
- Manager: Product & order management
- Customer: Shopping, reviews, messaging
Role/permission logic powered by Spatie Laravel-Permission. Easily extendable for custom roles.
- Notifications: Real-time, mark as read, unread count, dropdown, pagination
- Messaging: Customer support threads, admin replies, attachments
- Settings: Dynamic, grouped, option fields
- Exports: Download data as Excel/CSV
- Inventory Alerts: Low stock, bulk updates
- Branching:
main(production),develop(staging),feature/*(features) - Commits: Descriptive messages, reference issues
- Pull Requests: Feature branch → develop, review required
- Fork the repo
- Create a feature branch (
git checkout -b feature/my-feature) - Commit & push (
git commit -m 'Add feature') - Open a Pull Request
MIT License – see LICENSE file.
- Built with Laravel
- UI components by Vuetify
- Charts by ApexCharts
- Excel exports by Laravel Excel