67 lines
2.4 KiB
Markdown
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
|
|
```
|