Skip to content

Latest commit

 

History

53 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Internacional de Electricos Practical Technical Interview

Detalles del proyecto

Los requerimientos estan detallados aqui. Click aqui para acceder al archivo de los requerimientos

Monorepo con tres partes:

image

Requerimientos

Tenemos dos maneras de levantar los servicios:

  1. Con las tecnologias individuales. necesitas descargar node con nvm/executable y postgres
  2. Usando docker para evitar instalar las tecnologias individualmente.

Modelo de datos (Modelo Entidad Relacion - MER):

image

Endpoints y URLs

Ejecucion con local

Ejecucion con Docker

Variables de entorno

Como se levanta con docker, el archivo .env.template contiene las variables de entorno necesarias para levantar los servicios, se puede duplicar y pasarlo al .env

Variables requeridas:

  • PORT: puerto interno del backend (default recomendado: 4000)
  • DATABASE_URL: conexion PostgreSQL usada por Prisma
  • JWT_SEED: secreto para firma/validacion de JWT
  • NEST_API_URL: URL interna del backend para el frontend

Como ejecutar el proyecto

Se usa compose cuando se trabajan mas de un servicio para mejor escalabilidad y control sobre los diferentes servicios (Server o Client).

docker compose -f infra/docker-compose.yml up -d --build

Verificar el estado de los contenedores y su correcto funcionamiento:

docker ps
docker logs ie-api     # para verificar el log del servidor
docker logs ie-client  # para verificar el log del cliente

Nota: el contenedor ie-api ejecuta migraciones automaticamente al iniciar.

Migraciones

Aplicar migraciones manualmente en el contenedor API:

docker compose -f infra/docker-compose.yml exec api npx prisma migrate deploy --config=prisma.config.ts --schema=prisma/schema.prisma

Como usar?

  1. Crea un usuario en http://localhost:2538/auth/register. No se le coloco middleware para evitar dejar un seed de un usuario. Usa swagger para crear el usuario accediendo al URI http://localhost:2538/api. alli vas a colocar en el body los datos de name, email y password. Ejemplo:
{
  "name": "Deissy Cortez",
  "email": "deissy@deissy.com",
  "password": "123456"
}
  1. Logearse en el cliente en http://localhost:2539
  2. Hacer uso del CRUD de departamentos y ciudades

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages