Initial implementation of the HomeSysPanel CMS built with Laravel 13.0. Includes complete admin panel, content management, user authentication, modular architecture for products/services/chatbot, and marketing tools. Key features: - User authentication with email verification and password reset - Role-based access control (Admin/User with granular permissions) - Content management (pages, news, FAQ, downloads, galleries, banners) - Contact management system with subjects and responses - Marketing tools (email campaigns, visitor analytics, social sharing) - Modular architecture (Products, Services, Chatbot modules) - AI Chatbot integration with OpenRouter.ai and LlamaCpp support - Visitor tracking with geolocation - SEO optimization with meta tags and Open Graph - Responsive design with Bootstrap 5 - Dark mode support - Maintenance mode - Feature request system
40 lines
2.3 KiB
PHP
Executable File
40 lines
2.3 KiB
PHP
Executable File
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Modules\Products\Http\Controllers\ProductPageController;
|
|
use App\Modules\Products\Http\Controllers\Admin\ProductController;
|
|
use App\Modules\Products\Http\Controllers\Admin\ProductCategoryController;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Products Module - Public Routes
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
|
|
Route::get('/produtos', [ProductPageController::class, 'produtos'])->name('produtos');
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Products Module - Admin Routes
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
|
|
Route::middleware(['auth', 'verified'])->prefix('admin')->name('admin.')->group(function () {
|
|
// Products management (permission: products)
|
|
Route::middleware('permission:products')->group(function () {
|
|
Route::get('/produtos/categorias', [ProductCategoryController::class, 'index'])->name('categories.index');
|
|
Route::get('/produtos/categorias/criar', [ProductCategoryController::class, 'create'])->name('categories.create');
|
|
Route::post('/produtos/categorias', [ProductCategoryController::class, 'store'])->name('categories.store');
|
|
Route::get('/produtos/categorias/{category}/editar', [ProductCategoryController::class, 'edit'])->name('categories.edit');
|
|
Route::put('/produtos/categorias/{category}', [ProductCategoryController::class, 'update'])->name('categories.update');
|
|
Route::delete('/produtos/categorias/{category}', [ProductCategoryController::class, 'destroy'])->name('categories.destroy');
|
|
|
|
Route::get('/produtos', [ProductController::class, 'index'])->name('products.index');
|
|
Route::get('/produtos/criar', [ProductController::class, 'create'])->name('products.create');
|
|
Route::post('/produtos', [ProductController::class, 'store'])->name('products.store');
|
|
Route::get('/produtos/{product}/editar', [ProductController::class, 'edit'])->name('products.edit');
|
|
Route::put('/produtos/{product}', [ProductController::class, 'update'])->name('products.update');
|
|
Route::delete('/produtos/{product}', [ProductController::class, 'destroy'])->name('products.destroy');
|
|
});
|
|
});
|