Es tracta de fer una fitxa de client amb els seus productes, aquestes dades s'obtindran mitjançant una API. Per veure la fitxa de client s'accedeix a l'arrel:
I les API a:
- http://www.parlem.local/api/customers
- http://www.parlem.local/api/customers/{customerId}
- http://www.parlem.local/api/products?customer={customerId}
ATENCIÓ No hi ha restricció d'accés: S'hauria doncs de programar. Obtenir i utilitzar les credencials necessàries per accedir a aquesta informació privada.
- Crear la taula en base de dades de clients i productes (customers & products)
- Omplir les taules amb 10 clients i 2 productes per client.
- Fer un API per consultar clients i els seus productes corresponents.
- Crear una fitxa de client
- Fer Crides a les api per tal d'obtenir la informació.
S'ha utilitzat Laravel 8 com a framework.
Configuracions inicials: He deixat totes les configuracions inicials que venen amb laravel 8, per tant encara que hi sigui no he utilitzat docker, ni les taules de usuaris.
Per al correcte funcionamient, després d'haver fet clone
del projecte:
-
Crear la base de dades
parlem
(o el nom que es vulgui) -
Des del directori del projecte executar:
cp .env.example .env
que copiarà.env.example
com a.env
php artisan key:generate
que genera elAPP_KEY
en el.env
-
Modificar les dades de tots els DB_... en
.env
amb els valors adients -
Des del directori del projecte executar:
composer install
que instalarà totes les dependenciesphp artisan migrate --seed
que crearà les taules customers i products i les omplirà.npm install
això instalarà totes les dependencies del frontendnpm run prod
això compilarà els javascripts i css que necessita la part de front
Es posible que hi hagin problemes de permisos d'accés als directoris logs i cache per això es recomendable seguir les instruccions en el cas de que passi:
http://parlem.local/api/customers
http://parlem.local/api/customers/49
49 es el
customerId
del client que es vol obtenir
http://parlem.local/api/products?customer=49
customer es per filtrar que volem els productes del client amb
customerId
49