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

67 lines
2.4 KiB
Markdown

# 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
```
---
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
```