Skip to content

lexmax/backend_challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 

Repository files navigation

DESAFÍOS A ALCANZAR:

Se debe crear una aplicación con el proposito de dar mantenimiento a una sola tabla. Esa tabla debe contar con las siguientes caracteristicas.

CAMPOS ATRIBUTOS
id INT() NOT NULL
name VARCHAR(100) NOT NULL
lastname VARCHAR(150) NOT NULL
email VARCHAR(200) NOT NULL UNIQUE
address TEXT
reference_address TEXT
phone_number VARCHAR(20)
created_at DATETIME
updated_at DATETIME

Campos de auditoría (created_at, updated_at)

Nivel 1(creación):

Las apis (5) a crear deben cumplir con las opciones para dar mantenimiento a esta entidad(CRUD)

Método Endpoint Descripción
GET /contacts Listar todos
GET /contacts/{id} Obtener uno
POST /contacts Crear
PUT /contacts/{id} Actualizar
DELETE /contacts/{id} Eliminar

Bonus (no obligatorio pero suma puntos): Paginación: ?page=1&limit=10 Filtro por email: ?email=xxx

Nivel 2 (Reglas):

  • Para los efectos de actualización y/o creación 3 campos son obligatorios(name, lastname, email).
  • email debe tener formato válido
  • No permitir correos duplicados
  • Manejo correcto de errores HTTP: 400 (bad request), 404 (not found) y 409 (conflict email duplicado)

Nivel 3 (Documentación):

  • Documentar las apis creadas. Sugerimos utilizar swagger.

Nivel 4 (Portabilidad):

  • Crear un docker file que permita crear la imagen y ejecutar el proyecto.

Nivel 5 (Arquitectura)

REPOSITORIO:

El repositirio debe contar con:

  • Descripción
  • Alcances del desarrollo (nivel desarrollado)
  • Indicaciones de como ejecutar la solución

REQUISITOS:

En este desafío debes mostrar tu habilidades en el manejo de tecnologías como:

  • Python >= 3.9
  • Flask >= 2
  • SqLite
  • SQLAlchemy
  • Dockerfile funcional
  • README claro
  • Swagger con Swagger o OpenAPI

ESTRUCURA:

app/ ├── main.py ├── models.py ├── routes.py ├── db.py ├── schemas.py └── config.py

Dockerfile requirements.txt README.md

No es obligatorio exactamente así, pero: Debe verse orden y criterio arquitectónico.

BONUS:

No obligatorios, pero suma mucho:

  • Tests con pytest
  • .env
  • Healthcheck /health
  • Manejo de migraciones
  • Preparado para despliegue en Amazon Web Services (ej: configuración compatible con AWS ECS o AWS Fargate)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors