Se requiere diseñar un módulo que cumpla con las siguientes carácteristicas:
- Consume de la API de Spotify para obtener información de:
- Artistas
- Albumes
Crear la página /lanzamientos que muestre en un listado los últimos lanzamientos que se encuentran en Spotify. El listado debe tener Imagen del lanzamiento, nombre del lanzamiento y los artistas relacionados (cada artista debe ser un link).
Crear la página /artista/[id], donde id corresponde al identificador del artista, esta página se llama desde la página anterior haciendo clic en el artista. Se debe mostrar la información del artista como foto y nombre seguido de una tabla donde sus cabeceras corresponden a: Foto del álbum, nombre del álbum y canción.
El proyecto fue desarrollado en el siguiente ambiente:
- php 7.4.3
- composer 2.0.12
- npm 6.14.13
- yarn 1.22.17
Sin embargo y con el fin de hacerlo independiente del ambiente de desarrollo, se montó originalmente en un ambiente docker-compose, lo que no quiere decir que no se pueda corer con el cli de symfony.
El ambiente de docker-compose es el siguiente:
- php 7.4.26
- composer 2.1.14
- npm
- yarn
El proyeto está divido en dos partes servidor y proyecto. Todos los archivos que se refieren al servidor residen en la raiz del repositorio, mientras que los archivos del proyecto residen en la carpeta www
Debe definir sus variables de entorno en el archivo .env.local
ubicado en la
carpeta del proyecto
SP_CLIENT_ID='<INGRESAR SPOTIFY_CLIENT_ID>'
SP_CLIENT_SECRET='<INGRESAR SPOTIFY_CLIENT_SECRET>'
El uso de symfony cli es válido, lo importate es tener en cuenta las carácteristicas del entorno de desarrollo, o las del entorno docker para obtener un correcto funcionamiento
El proyecto cuenta con un archivo docker-compose así que si tiene este software instalado puede poner a correr el servidor con el siguiente comando desde la raiz del proyecto:
docker-compose up -d
Al ejecutar el servidor de esta forma, el servicio quedará expuesto en el puerto 8000
Y detener la ejecución del mismo con el comando
docker-compose down
Así como también puede ingresar a la consola del servidor con el comando
docker-compose exec myapp bash
Si no cuenta con docker-compose
el proyecto de igual manera se puede ejecutar
como cualquier otro proyecto de symfony.
Antes de la ejecución inicial se deben actualizar las librerías usadas con
composer con el fin de poder ejecutar la aplicación, lo logra con el comando
composer update
Si tiene docker-compose
en su sistema puede actualizar composer ejecutando el
siguiente comando:
docker-compose exec myapp composer update
Se implementó para la interfaz gráfica TailWind por medio de yarn se debe realizar la instalación de los paquetes necesarios desde el directorio www:
yarn install
yarn encore dev
Si no poseé yarn, puede hacer uso de docker para tal fin, desde el mismo directorio www:
docker run --rm -ti -v $PWD:/app node:12-alpine yarn --cwd /app install
docker run --rm -ti -v $PWD:/app node:12-alpine yarn --cwd /app encore dev