# Pedi2 Aplicación de pedidos del Mercado Popular de Subsistencia. Pedi2 está hecha en Laravel 12 y Vue 2 con Vite y Vuex. Se utilizan los siguientes servicios, separadamente: - `app`, un servicio que corre PHP8.3-FPM. - `db`, un servicio que corre MySQL 5.7. - `nginx`, un servicio que usa el servicio app para parsear código PHP antes de servir la aplicación de Laravel al usuario final. - `vite`, un servicio que corre el frontend de la aplicación. ## Pre-requisitos - docker - docker-compose ## Instalación 1. Una vez descargado el proyecto, hacé una copia del archivo `.env.example` que se encuentra en la raíz del proyecto y nombrala `.env`. Seteá los valores correctos - específicamente, para las variables, `APP_URL`, `DB_USERNAME` y `DB_PASSWORD`. Prestá atención a que `DB_HOST` sea el nombre del servicio que corre MySQL (por defecto `DB_HOST=db`). 2. Levantá los contenedores, construyendo la imagen de la app primero: ```bash docker-compose up --build ``` El ambiente ahora está andando, deberías ver los logs de cada servicio en la terminal. Falta ejecutar un par de comandos para terminar la instalación de Laravel. Podemos usar `docker-compose exec [nombre-del-servicio]` previo a un comando para ejecutarlo dentro del contenedor. 3. Abrí una nueva terminal, y terminá de instalar las dependencias de la app, según fueron definidas en `composer.json`: ```bash docker-compose exec app composer install ``` 4. Generá una clave de aplicación. Esta clave se usa para encriptar datos sensibles: ```bash docker-compose exec app php artisan key:generate ``` 5. Corré las migraciones y seeders de Laravel: ```bash docker-compose exec app php artisan migrate:fresh --seed ``` 6. Copia el token que se imprime al correr los seeders. Lo necesitamos para autenticar las llamadas que hagamos desde nuestro cliente web 7. Instala las dependencias de npm: ```bash docker-compose exec app npm install ``` Ahora la aplicación está corriendo y la podés ver en el puerto 8000 de tu dominio o IP. En caso de que estés en tu máquina local, la vas a ver accediendo a `http://localhost:8000` desde tu navegador. Podés usar el comando `logs` para ver los logs generados por tus servicios: ```bash docker-compose logs nginx ```