# 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 tres flujos dependiendo si el usuario es una aerolínea, un usuario normal o un admin. ### 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 auth-domain/.env.prod.example auth-domain/.env.prod cp subscription-domain/.env.prod.example subscription-domain/.env.prod ``` Luego, para levantar todos los componentes, basta con ejecutar: ``` ./run.sh ``` Por último, si quiere bajarlos: ``` ./run.sh -x ``` ## Contribuir Primero, instale el hook de `pre-commit` en su repositorio local (probablemente deba instalar antes `pre-commit`, vea cómo hacerlo [aquí](https://pre-commit.com/)): ``` pre-commit install ``` Luego, puede usar el script de `run.sh` para probar sus cambios. Por ejemplo, si quiere bajar y levantar un servicio en particular: ``` ./run.sh -d flights -x ./run.sh -d flights ``` En este caso el parámetro `-d` indica el tipo de servicio (puede ser `subscription`, `browser`, `screen`, `gateway`, `flights`, `auth` o `elk`) y el parámetro `-x` indica que se quiere bajar el servicio. Si quiere testear un servicio lo puede hacer corriendo: ``` ./run.sh -d flights -t ```