# fids

## Componentes

### auth-domain

Contiene `user-manager` con su base de datos. Maneja la autenticación y autorización de usuarios para el `browser-domain`.

### browser-domain

SPA que tiene dos flujos dependiendo si el usuario es una aerolínea o un usuario normal.

### flights-domain

Contiene `flights-information` con su base de datos. Maneja todo lo relacionado a la información de los vuelos (CRUD).

### screens-domain

PWA pensada para utilizarse en un aeropuerto. Se maneja con un solo `origin` y con el query param `lastUpdated` para pedir cambios. Esta tiene una base datos para cachear los resultados y poder funcionar offline.

### subscription-domain

Contiene `subscription-manager` con su base de datos. Maneja todo lo relacionado a la suscripción de los usuarios, junto con el envío de notificaciones.

### gateway

API gateway encargada de exponer los servicios. Maneja autenticación usando el `auth-domain`.

## Uso

Primero, deberá configurar los `.env` como usted prefiera. Copie y modifique los ejemplos:

```
cp flights-domain/.env.prod.example flights-domain/.env.prod
cp user-domain/.env.prod.example user-domain/.env.prod
```

Luego, para levantar todos los componentes, basta con ejecutar:

```
./run.sh
```

## Contribuir

```
pre-commit install
```