2026-03-18 10:56:35 +02:00
|
|
|
<?php
|
|
|
|
|
|
2026-03-18 12:18:07 +02:00
|
|
|
use App\Http\Controllers\DashboardController;
|
2026-03-18 11:40:20 +02:00
|
|
|
use App\Http\Controllers\ProfileController;
|
2026-03-18 13:32:36 +02:00
|
|
|
use App\Http\Controllers\ReportController;
|
2026-03-18 11:40:20 +02:00
|
|
|
use App\Http\Controllers\WebsiteController;
|
2026-03-18 10:56:35 +02:00
|
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
|
|
|
|
|
|
Route::get('/', function () {
|
|
|
|
|
return view('welcome');
|
|
|
|
|
});
|
2026-03-18 11:40:20 +02:00
|
|
|
|
|
|
|
|
Route::get('/dashboard', function () {
|
|
|
|
|
return redirect()->route('websites.index');
|
|
|
|
|
})->middleware(['auth', 'verified'])->name('dashboard');
|
|
|
|
|
|
|
|
|
|
Route::middleware(['auth', 'verified'])->group(function () {
|
|
|
|
|
Route::resource('websites', WebsiteController::class);
|
|
|
|
|
Route::get('websites/{website}/snippet', [WebsiteController::class, 'snippet'])->name('websites.snippet');
|
2026-03-18 12:18:07 +02:00
|
|
|
|
|
|
|
|
Route::get('websites/{website}/dashboard', [DashboardController::class, 'show'])->name('dashboard.show');
|
|
|
|
|
Route::get('websites/{website}/realtime', [DashboardController::class, 'realtime'])->name('dashboard.realtime');
|
2026-03-18 13:32:36 +02:00
|
|
|
|
|
|
|
|
// Reports
|
|
|
|
|
Route::prefix('websites/{website}/reports')->name('reports.')->group(function () {
|
|
|
|
|
Route::get('geographic', [ReportController::class, 'geographic'])->name('geographic');
|
|
|
|
|
Route::get('technology', [ReportController::class, 'technology'])->name('technology');
|
|
|
|
|
Route::get('language', [ReportController::class, 'language'])->name('language');
|
|
|
|
|
Route::get('new-vs-returning', [ReportController::class, 'newVsReturning'])->name('new-vs-returning');
|
|
|
|
|
|
|
|
|
|
Route::get('sources', [ReportController::class, 'sources'])->name('sources');
|
|
|
|
|
Route::get('campaigns', [ReportController::class, 'campaigns'])->name('campaigns');
|
|
|
|
|
Route::get('referrers', [ReportController::class, 'referrers'])->name('referrers');
|
|
|
|
|
|
|
|
|
|
Route::get('pages', [ReportController::class, 'pages'])->name('pages');
|
|
|
|
|
Route::get('landing-pages', [ReportController::class, 'landingPages'])->name('landing-pages');
|
|
|
|
|
Route::get('exit-pages', [ReportController::class, 'exitPages'])->name('exit-pages');
|
|
|
|
|
|
|
|
|
|
Route::get('events', [ReportController::class, 'events'])->name('events');
|
|
|
|
|
Route::get('events/{eventName}', [ReportController::class, 'eventDetail'])->name('event-detail');
|
2026-03-18 16:59:39 +02:00
|
|
|
|
|
|
|
|
Route::get('conversions', [ReportController::class, 'conversions'])->name('conversions');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Goals
|
|
|
|
|
Route::prefix('websites/{website}/goals')->name('goals.')->group(function () {
|
|
|
|
|
Route::get('/', [\App\Http\Controllers\GoalController::class, 'index'])->name('index');
|
|
|
|
|
Route::get('create', [\App\Http\Controllers\GoalController::class, 'create'])->name('create');
|
|
|
|
|
Route::post('/', [\App\Http\Controllers\GoalController::class, 'store'])->name('store');
|
|
|
|
|
Route::get('{goal}/edit', [\App\Http\Controllers\GoalController::class, 'edit'])->name('edit');
|
|
|
|
|
Route::put('{goal}', [\App\Http\Controllers\GoalController::class, 'update'])->name('update');
|
|
|
|
|
Route::delete('{goal}', [\App\Http\Controllers\GoalController::class, 'destroy'])->name('destroy');
|
2026-03-18 13:32:36 +02:00
|
|
|
});
|
2026-03-18 11:40:20 +02:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Route::middleware('auth')->group(function () {
|
|
|
|
|
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
|
|
|
|
|
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
|
|
|
|
|
Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
require __DIR__.'/auth.php';
|