Première grosse version fonctionnel

This commit is contained in:
2026-04-22 23:30:31 +02:00
commit ccbe5ad801
329 changed files with 29518 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\AuthController;
use App\Http\Controllers\Api\StressDiagnosticController;
// Route pour le login (accessible par le visiteur anonyme)
Route::post('/login', [AuthController::class, 'login']);
// Route publique pour l'inscription
Route::post('/register', [AuthController::class, 'register']);
// Routes protégées (accessibles seulement si l'utilisateur mobile a un token valide)
Route::middleware('auth:sanctum')->group(function () {
Route::get('/profile', function (Request $request) {
return $request->user();
});
Route::post('/update-profile', [AuthController::class, 'updateProfile']);
Route::get('/stress-events', [StressDiagnosticController::class, 'index']);
// Route pour enregistrer un diagnostic effectué sur mobile
Route::post('/stress-diagnostics', [StressDiagnosticController::class, 'store']);
Route::get('/emotions', [App\Http\Controllers\Api\EmotionController::class, 'index']);
Route::post('/emotions', [App\Http\Controllers\Api\EmotionController::class, 'store']);
});
+8
View 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');
+41
View File
@@ -0,0 +1,41 @@
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\DashboardController;
use App\Http\Controllers\Web\EmotionController;
use App\Http\Controllers\Web\DiagnosticController;
use App\Http\Controllers\Web\RelaxationController;
use App\Http\Controllers\Web\AuthController;
use App\Http\Controllers\Web\ProfileController;
// Public Routes
Route::get('/', [DashboardController::class, 'index'])->name('home');
Route::get('/diagnostics', [DiagnosticController::class, 'index'])->name('diagnostics.index');
Route::get('/relaxation', [RelaxationController::class, 'index'])->name('relaxation.index');
// Authentification
Route::get('/login', [AuthController::class, 'showLogin'])->name('login');
Route::post('/login', [AuthController::class, 'login']);
Route::get('/register', [AuthController::class, 'showRegister'])->name('register');
Route::post('/register', [AuthController::class, 'register']);
Route::post('/logout', [AuthController::class, 'logout'])->name('logout');
// Protected Routes
Route::middleware('auth')->group(function () {
// Profile
Route::get('/profile', [ProfileController::class, 'index'])->name('profile.index');
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
Route::put('/profile/password', [ProfileController::class, 'updatePassword'])->name('profile.password');
Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
// Tracker Émotionnel (Personal data)
Route::get('/emotions', [EmotionController::class, 'index'])->name('emotions.index');
Route::post('/emotions', [EmotionController::class, 'store'])->name('emotions.store');
// Diagnostic Saving (if applicable)
Route::post('/diagnostics', [DiagnosticController::class, 'store'])->name('diagnostics.store');
// Relaxation Actions
Route::post('/relaxation/{id}/favorite', [RelaxationController::class, 'toggleFavorite'])->name('relaxation.favorite');
});