pedi2/README.md
2025-07-31 19:44:25 -03:00

2.4 KiB

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:

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.

  1. Abrí una nueva terminal, y terminá de instalar las dependencias de la app, según fueron definidas en composer.json:
docker-compose exec app composer install
  1. Generá una clave de aplicación. Esta clave se usa para encriptar datos sensibles:
docker-compose exec app php artisan key:generate
  1. Corré las migraciones y seeders de Laravel:
docker-compose exec app php artisan migrate:fresh --seed
  1. Copia el token que se imprime al correr los seeders. Lo necesitamos para autenticar las llamadas que hagamos desde nuestro cliente web

  2. Instala las dependencias de npm:

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:

docker-compose logs nginx

Si estás actualizando o no te anda, probá limpiar los caches:

docker-compose exec app php artisan optimize:clear
docker-compose exec app composer dump-autoload