Skip to content

[Prueba Técnica] CRUD de empleados (Servlets + AJAX) con validaciones backend/frontend#8

Open
jior1626 wants to merge 11 commits into
previred:mainfrom
jior1626:feature/dev-jordan
Open

[Prueba Técnica] CRUD de empleados (Servlets + AJAX) con validaciones backend/frontend#8
jior1626 wants to merge 11 commits into
previred:mainfrom
jior1626:feature/dev-jordan

Conversation

@jior1626

Copy link
Copy Markdown

Información del postulante

  • Nombre: Jordan Orozco
  • Empresa reclutadora: Tecnova IT
  • Correo: jordarturo1998@gmail.com
  • Cargo al que postula: Desarrollador Full Stack Java

Descripción

Se implementa la solución del desafío técnico utilizando Java 8, Servlets y AJAX nativo, desarrollando un CRUD de empleados con validaciones de negocio tanto en backend como en frontend.

La aplicación permite gestionar empleados de forma dinámica sin recargar la página, cumpliendo con los requerimientos técnicos solicitados.


Arquitectura

Se estructuró la solución en capas:

  • Controller (Servlets)
  • Service
  • Repository (JDBC)

Se utiliza DTO para evitar exponer directamente las entidades.


API RESTful

Endpoints implementados:

  • GET /api/empleados
  • POST /api/empleados
  • DELETE /api/empleados/{id}

✔ Respuestas en JSON
✔ Uso correcto de HTTP status codes
✔ Buenas prácticas REST


Frontend (AJAX)

  • Uso de Fetch API
  • Carga dinámica sin recargar página
  • Creación y eliminación de empleados en tiempo real
  • Manipulación del DOM

Validaciones

Backend

  • RUT/DNI no duplicado
  • Salario mínimo: $400,000
  • Bonos ≤ 50% del salario
  • Descuentos ≤ salario base

Retorno de errores con HTTP 400 y detalle en JSON


Frontend

  • Validación de campos obligatorios
  • Validación de formato RUT/DNI
  • Validación de salario mínimo
  • Mensajes dinámicos en pantalla (sin alerts)

Persistencia

  • H2 en memoria
  • JDBC

Tecnologías

  • Java 8
  • Servlets
  • Spring Boot
  • Tomcat
  • JDBC
  • H2
  • HTML + JavaScript

Ejecución

mvn spring-boot:run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant