initial commit
This commit is contained in:
8
routes/console.php
Normal file
8
routes/console.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Foundation\Inspiring;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
|
||||
Artisan::command('inspire', function () {
|
||||
$this->comment(Inspiring::quote());
|
||||
})->purpose('Display an inspiring quote');
|
||||
62
routes/web.php
Normal file
62
routes/web.php
Normal file
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use App\Http\Controllers\ClientController;
|
||||
use App\Http\Controllers\ContentBriefController;
|
||||
use App\Http\Controllers\DashboardController;
|
||||
use App\Http\Controllers\EventController;
|
||||
use App\Http\Controllers\InvoiceController;
|
||||
use App\Http\Controllers\MediaFileController;
|
||||
use App\Http\Controllers\RateCardController;
|
||||
use App\Http\Controllers\SocialHubController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
Route::get('/', [DashboardController::class, 'index'])->name('dashboard');
|
||||
|
||||
// CRM – Clients
|
||||
Route::resource('clients', ClientController::class);
|
||||
|
||||
// Schedule & Calendar
|
||||
Route::prefix('schedule')->name('schedule.')->group(function (): void {
|
||||
Route::get('/', [EventController::class, 'index'])->name('index');
|
||||
Route::post('/', [EventController::class, 'store'])->name('store');
|
||||
Route::put('/{event}', [EventController::class, 'update'])->name('update');
|
||||
Route::patch('/{event}/dates', [EventController::class, 'updateDates'])->name('update-dates');
|
||||
Route::delete('/{event}', [EventController::class, 'destroy'])->name('destroy');
|
||||
Route::get('/api/events', [EventController::class, 'apiList'])->name('api-events');
|
||||
});
|
||||
|
||||
// Social Media Hub
|
||||
Route::prefix('social-hub')->name('social-hub.')->group(function (): void {
|
||||
Route::get('/', [SocialHubController::class, 'index'])->name('index');
|
||||
Route::post('/stats', [SocialHubController::class, 'storeStats'])->name('store-stats');
|
||||
});
|
||||
|
||||
// Financial – Invoices
|
||||
Route::resource('invoices', InvoiceController::class);
|
||||
Route::get('/invoices/{invoice}/pdf', [InvoiceController::class, 'pdf'])->name('invoices.pdf');
|
||||
|
||||
// Financial – Rate Cards
|
||||
Route::get('/rate-cards/public', [RateCardController::class, 'public'])->name('rate-cards.public');
|
||||
Route::resource('rate-cards', RateCardController::class)->except(['show']);
|
||||
|
||||
// Content Strategy – Kanban
|
||||
Route::prefix('content')->name('content.')->group(function (): void {
|
||||
Route::get('/', [ContentBriefController::class, 'index'])->name('index');
|
||||
Route::get('/create', [ContentBriefController::class, 'create'])->name('create');
|
||||
Route::post('/', [ContentBriefController::class, 'store'])->name('store');
|
||||
Route::get('/{contentBrief}', [ContentBriefController::class, 'show'])->name('show');
|
||||
Route::get('/{contentBrief}/edit', [ContentBriefController::class, 'edit'])->name('edit');
|
||||
Route::put('/{contentBrief}', [ContentBriefController::class, 'update'])->name('update');
|
||||
Route::delete('/{contentBrief}', [ContentBriefController::class, 'destroy'])->name('destroy');
|
||||
Route::patch('/{contentBrief}/status', [ContentBriefController::class, 'updateStatus'])->name('update-status');
|
||||
});
|
||||
|
||||
// File Management
|
||||
Route::prefix('files')->name('files.')->group(function (): void {
|
||||
Route::get('/', [MediaFileController::class, 'index'])->name('index');
|
||||
Route::post('/', [MediaFileController::class, 'store'])->name('store');
|
||||
Route::get('/{mediaFile}/serve', [MediaFileController::class, 'serve'])->name('serve');
|
||||
Route::delete('/{mediaFile}', [MediaFileController::class, 'destroy'])->name('destroy');
|
||||
});
|
||||
Reference in New Issue
Block a user