# Seminario CMS Este es el repositorio para el código del sitio web para el seminario de gestión de contenidos. Desarrollado por Lautaro Valdez Avila y Ian Mancini. Año 2020. ## Instrucciones para desarrollo La aplicación web consiste de dos partes: 1. CMS: [Directus](https://directus.io/) 2. Componente de SSR (Server Side Rendering): [Next.js](https://nextjs.org/) ### Configurando el entorno Hay 3 variables de entorno que se deben configurar en el archivo `.env`, la primera corresponde a la contraseña de la base de datos de MySQL y las otras dos a la seguridad de Directus: - `MYSQL_PASSWORD` - `DIRECTUS_AUTH_PUBLICKEY` - `DIRECTUS_AUTH_SECRETKEY` Estas pueden ser cualquier string, pero se deben asignar antes de crear los contenedores, y si se modifican posteriormente, los contenedores no funcionaran correctamente. El script `setup-env.sh` permite generar valores para las variables de entorno automáticamente y crear e iniciar los contenedores de docker después de esto. ```bash ./setup-env.sh ``` ### CMS y base de datos Directus depende de una base de datos SQL que se puede levantar usando [Docker](https://www.docker.com/) con el archivo de [docker-compose](https://docs.docker.com/compose/) provisto: ```bash docker-compose up -d ``` Cuando el contenedor de la base de datos se cree por primera vez, la base de datos se inicializará con el dump que se encuentra en `./db/init.sql`. Para modificar los datos una vez iniciados los contenedores, se puede acceder a la interfaz web de directus en [http://localhost:13000](http://localhost:13000) con las siguientes credenciales: - Usuario: `admin@cms.trovadorxs.net.ar` - Contraseña: `password` Eventualmente, este dump deberá ser actualizado con el contenido real/final, para que el entorno de desarrollo sea lo mas fiel posible con respecto al de producción. Esto se puede llevar a cabo con el script provisto en la raíz del repositorio (`manage-db`): ```bash ./manage-db.sh backup ``` ### Sitio web (front end) Una vez que la base de datos haya sido inicializada, se puede iniciar el servidor de desarrollo (en [http://localhost:13001](http://localhost:13001)) con: ```bash npm run dev ``` Los archivos en el directorio `src` se pueden editar y los cambios se verán reflejados en el navegador sin la necesidad de recargar la página.