/backend-exam-test-solati

Prueba tecnica Desarrollador full-stack Solati

Primary LanguagePHP

Proxy Todo APP With Traefik

Un ejemplo básico de un proxy inverso que utiliza Docker Compose y Traefik.

Conceptos rápidos

En circunstancias normales en el desarrollo local, podría servir una aplicación Laravel y una aplicación Vue en localhost pero en dos puertos diferentes.

Por ejemplo, :8081 y :8082.

Por lo general, esto no es gran cosa, pero a veces puede causar conflictos, ya que la mayoría de los navegadores consideran que diferentes puertos son iguales a nombres de dominio de nivel superior separados. Lo que significa que es posible que cosas como las cookies entre sitios y algunos métodos de autenticación no funcionen según lo previsto.

Lo que hace Traefik es actuar como proxy inverso. Asigna a sí mismo todo el tráfico del puerto: 80 en la máquina que lo ejecuta. A partir de ahí, configura nombres de dominio o rutas de acceso específicos para adjuntarlos a los servicios en su configuración de Docker. Traefik determina a qué servicio reenviar una solicitud según el valor de la URL que se utiliza y la envía al contenedor apropiado en consecuencia.

Empezando

Recuerda que antes de iniciar con la clonacion del proyecto debes tener instalado Docker y Docker Compose en tu maquina.(Guia de instalacion)

Clona este repositorio y asegúrate de que las dependencias estén instaladas. Desde la línea de comando en la raíz del proyecto:

cd backend && composer install
cd frontend && pnpm install

Luego corre todo con Docker Compose: desde la raíz del proyecto:

docker-compose up -d

Utilizando los valores proporcionados de forma predeterminada, ahora deberían estar disponibles dos sitios en el navegador.

Referencia a la API

  • Ejecuta la colección de Postman

    Run In Postman

  • Documentacion Link

Guia de usuario(paso a paso)

  1. Pantalla de registro,si no tienes una cuenta puedes registrarte Registro

  2. Pantalla de inicio de sesión

Login

  1. Ingresar las credenciales de usuario, luego click en el boton de iniciar sesión Modulo de tareas

  2. Pantalla de tareas,durante la carga de esta pantalla se realiza una peticion a la API para obtener las tareas del usuario Crear tarea

  3. Listado de tareas, en esta pantalla se puede visualizar las tareas del usuario y crear nuevas tareas Crear tarea