Installazione Laravel
cd your parent_folder_path
composer create-project --prefer-dist laravel/laravel:^9.2 your_project_name_here
cd your_project_name_here
code . -r
php artisan serve
ctrl + c
Configurazione Laravel
composer require pacificdev/laravel_9_preset
php artisan preset:ui bootstrap
npm install
npm install --save @fortawesome/fontawesome-free
#in vite config aggiungo agli alias
'~@fortawesome': path.resolve(__dirname, 'node_modules/@fortawesome'),
#copio la cartella dei webfont e se voglio la rinomino
#installo dbal per migration e seeder
composer require doctrine/dbal:^3.3
#comandi git
git init
git add .
git commit -m "first commit"
git branch -M main
git remote add origin your_git_url
git push -u origin main
Clono progetto da github
# copio file .env.example e lo rinomino in .env
composer install
php artisan key:generate
npm install
# creo il database da phpmyadmin
# inserisco i dati per il collegamento al db in env
#creo migration es.
php artisan make:migration create_nome_tabella_table
php artisan make:migration update_users_table --table=users
php artisan make:migration add_phone_number_to_users_table
#lanciare migration
php artisan migrate
#revert migration
php artisan migrate:rollback
#creare il model (necessario per salvare dati su db con seeder)
php artisan make:model Nome
#popolare il db es.
php artisan make:seeder UsersTableSeeder
php artisan db:seed --class=UsersTableSeeder
# preparo le rotte file web.php es.
Route::get('/books', [BookController::class, 'index'])->name('books.index');
# creo controller
php artisan make:controller NomeController
# creo le views relative
Descrizione man-gnam
#introduzione
creazione di un e-commerce che vende prodotti alimentari etnici.
mostra prodotti hight-light
# prodotti
i prodotti hanno le seguenti caratteristiche:
PK UniquelD: Un identificatore univoco per ogni prodotto.
nome string (100): Il nome del prodotto.
immagine string (255): Un URL che punta all immagine del prodotto.
prezzo float (5,2): Il prezzo del prodotto.
descrizione_prodotto text: Una descrizione del prodotto.
peso float (5,2): Il peso del prodotto in grammi.
scadenza data: La data di scadenza del prodotto.
nazionalità string (100): La nazionalità del prodotto.
categoria (bevande, dolci, alcolici..) strina (100): La categoria del prodotto.
quantità int unsigned: La quantità di prodotto nel packaging.
marca string (100): La marca del prodotto.
packaging string (100): Il tipo di imballaggio del prodotto.
ingredienti string (100): Gli ingredienti del prodotto.
tipo (vegano, celiaco): Il tipo di prodotto (vegano, celiaco, ecc.).
![draw.io](My Computer/public/draw.io.png)
# pagine sito
le pagine del sito sono le seguenti:
-homepage (presenterà navbar, contenuto introduttivo, jumbotron, corousel nuovi arrivi)
-prodotti
-prodotto
-carello
-contatti/abouts