Desarrollador Java/AngularJS para Sistema de Consecutivos
Budget: $250 – $750 USD
Buscamos un desarrollador con experiencia en Java (Spring Boot), manejo de bases de datos NoSQL (MongoDB) y desarrollo frontend con AngularJS para construir un sistema distribuido que permita generar, gestionar y validar números consecutivos únicos para documentos oficiales. El sistema debe separar claramente roles de Administrador y Cliente, ofrecer alta disponibilidad, respuesta en tiempo real y mantener un historial ordenado por fecha. El plazo de desarrollo es de 1 a 2 semanas.
Backend (Java 11+ & Spring Boot):
- Login sin contraseña (lista de usuarios predefinidos).
Endpoints REST:
- Generar consecutivo (único por año).
- Subir evidencia (PDF/IMG, ≤5 MB) y cambiar estado.
- Listar consecutivos del Cliente; listar pendientes para Admin.
- Validar/Rechazar y mantener consecutivo reservado si se rechaza.
- Consulta de histórico (acciones con fecha, usuario y detalle).
- Seguridad básica con JWT para roles CLIENTE/ADMIN.
- Almacenamiento de archivos en carpeta /uploads/evidencias/ y rutas en MongoDB.
- Operación atómica para evitar duplicados (findAndModify en MongoDB).
Frontend (AngularJS 1.x):
- Login sencillo (selección de usuario).
Dashboard Cliente:
- “Solicitar consecutivo” + listado propio con estados.
- Subida de evidencia asociada al consecutivo.
Dashboard Administrador:
- Listado de pendientes (estado “Evidencia”).
- Botones “Aprobar”/“Rechazar”.
- Vista de histórico (filtrable por fecha/usuario).
- Comunicación con API vía HTTP/JSON; interfaz funcional y minimalista.
Base de Datos (MongoDB):
- Colecciones: Usuarios (rol), Consecutivos (número, año, usuario, descripción, estado, evidencia, fechas) y Histórico (acciones detalladas).
- Índices por año en Consecutivos y por fecha en Histórico.
Documentación y Pruebas Básicas:
- Incluir README con pasos de instalación, variables de entorno (URL de MongoDB, lista de usuarios), instrucciones de despliegue en Tomcat.
- Ejemplos de documentos en MongoDB (Admin/Cliente).
- Al menos 3–5 pruebas unitarias en backend (JUnit 5) para generación de consecutivos y cambios de estado.
Backend (Java 11+ & Spring Boot):
- Login sin contraseña (lista de usuarios predefinidos).
Endpoints REST:
- Generar consecutivo (único por año).
- Subir evidencia (PDF/IMG, ≤5 MB) y cambiar estado.
- Listar consecutivos del Cliente; listar pendientes para Admin.
- Validar/Rechazar y mantener consecutivo reservado si se rechaza.
- Consulta de histórico (acciones con fecha, usuario y detalle).
- Seguridad básica con JWT para roles CLIENTE/ADMIN.
- Almacenamiento de archivos en carpeta /uploads/evidencias/ y rutas en MongoDB.
- Operación atómica para evitar duplicados (findAndModify en MongoDB).
Frontend (AngularJS 1.x):
- Login sencillo (selección de usuario).
Dashboard Cliente:
- “Solicitar consecutivo” + listado propio con estados.
- Subida de evidencia asociada al consecutivo.
Dashboard Administrador:
- Listado de pendientes (estado “Evidencia”).
- Botones “Aprobar”/“Rechazar”.
- Vista de histórico (filtrable por fecha/usuario).
- Comunicación con API vía HTTP/JSON; interfaz funcional y minimalista.
Base de Datos (MongoDB):
- Colecciones: Usuarios (rol), Consecutivos (número, año, usuario, descripción, estado, evidencia, fechas) y Histórico (acciones detalladas).
- Índices por año en Consecutivos y por fecha en Histórico.
Documentación y Pruebas Básicas:
- Incluir README con pasos de instalación, variables de entorno (URL de MongoDB, lista de usuarios), instrucciones de despliegue en Tomcat.
- Ejemplos de documentos en MongoDB (Admin/Cliente).
- Al menos 3–5 pruebas unitarias en backend (JUnit 5) para generación de consecutivos y cambios de estado.
Related categories:
Business, Accounting, Human Resources & Legal
JavaScript
J2EE
NoSQL Couch & Mongo
AngularJS