- MySQL + InnoDB para as relações com chave-estrangeira.
- Autenticação com admin: Email - admin@email.com / Password - admin || Ele já é criado automaticamente ao rodar as migrations.
- Um produto possui uma imagem
- Um carrinho é único, ele possui um usuário a quem pertence e o produto que ele deseja comprar. Poderia ser adicionado um atributo "quantidade", por exemplo.
//USUÁRIO
- Route::get('/register', [UserController::class, 'create']);
- Route::post('/register', [UserController::class, 'store']);
- Route::post('/authenticate', [UserController::class, 'authenticate']);
- Route::get('/admin', [UserController::class, 'adminPage']);
- Route::get('/logout', [UserController::class, 'logout']);
//PRODUTOS
- Route::get('/products', [ProductController::class, 'index']);
- Route::get('/product/{id}', [ProductController::class, 'show']);
- Route::get('/register-product', [ProductController::class, 'create']);
- Route::post('/register-product', [ProductController::class, 'store']);
- Route::delete('/delete-product/{id}', [ProductController::class, 'destroy']);
- Route::get('/update-product/{id}', [ProductController::class, 'updateProductShow']);
- Route::put('/update-product/{id}', [ProductController::class, 'updateProduct']);
//CARRINHOS
- Route::get('/user/cart', [CartController::class, 'index']);
- Route::post('/product/buy/{id}', [CartController::class, 'store']);
- Route::delete('/delete/cart/product/{id}', [CartController::class, 'destroy']);
//404
- Route::fallback(function() {
return redirect('/');
});