Per realitzar l'exercici s'ha utilitzat l'última versió de Laravel disponible. Junt amb la utilització de Sail per l'execució amb Docker i el paquet Breeze per la gestió d'usuaris, és una molt bona opció per arrancar el projecte de manera fàcil i efectiva.
El procés és el comú en projectes Laravel. Cal tenir Git, PHP i Composer per la instal·lació de paquets de PHP, i Nodejs i npm pels paquets Javascript.
Tenint Docker i Docker Compose, la utilització de (Laravel Sail) facilita la gestió i l'operativa. En entorns Windows i Mac és necessari tenir Docker Desktop instal·lat.
Cal tenir un entorn d'execució standard d'aplicacions PHP.
- PHP>=8 (amb les extensions necessàries)
- Servidor web Apache/nginx.
- Una base de dades sqlite (MySQL/MariaDB) operativa. L'aplicació utilitza
per defecte sqlite, però només cal configurar l'accés a una altra BD al fitxer
.env
.
L'aplicació utilitza Pusher per l'actualització en temps real de les dades de les comandes. És necessari disposar d'un compte (gratuït) i les seves dades de configuració.
- Clonar el projecte i situar-se a l'arrel.
- Executar
composer install
. - Copiar
.env.example
a.env
. - Configurar al
.env
l'accés a la base de dades (en cas d'utilitzar una altra de la proporcionada) i les dades del compte de pusher.
- Executar
./vendor/bin/sail up -d
. És recomanable crear un aliassail
per facilitar-ne l'ús. Si no, caldrà afegir el prefixe./vendor/bin
a les següents crides. - Executar
sail artisan migrate --seed
. - Executar
sail npm run install && npm run dev
.
- Executar
php artisan migrate --seed
. - Executar
npm install && npm run dev
. - Executar
php artisan serve
.
L'aplicació estarà disponible a http://localhost
o http://localhost:8000
, segons
l'entorn escollit.
El projecte conté les migracions i seeders necessaris per a carregar la base de dades de prova suministrades, de manera que l'aplicació es funcional des del moment de la instal·lació.
Per a provar l'actualització en temps real, s'ha crear una comanda d'artisan
que
inserta un nou registre aleatori a la BD i genera el event d'actualització. Només cal:
- Executar
sail artisan order:create
ophp artisan order:create
segons l'entorn.