Sobre este proyecto
it-programming / data-science-1
Abierto
Contexto general del proyecto
Requisitos del aspirante: Conocimiento sólido en lenguaje de programación Python. Familiaridad con el uso de Flask o FastAPI como frameworks para microservicios. Experiencia en el uso de Redis para implementar sistemas de mensajería por eventos y suscripciones. Competencia en la manipulación de datos y la generación de archivos en formatos xlsx, csv y json. Experiencia con PostgreSQL y el diseño de bases de datos eficientes. Capacidad para gestionar la importación de datos desde archivos Excel, utilizando librerías como Pandas o OpenPyXL. Habilidad para optimizar consultas SQL y mejorar el rendimiento de aplicaciones. Criterios de aceptación del proyecto 1. **Exportación de Datos:** - El microservicio puede exportar datos desde la base de datos Postgresql en los formatos solicitados (xlsx, csv, json). - Debe exportar la data basada en filtros proporcionados, con la selección de los campos proporcionados en la solicitud - Los archivos generados deben ser válidos y contener la información correcta. - Se deben proporcionar rutas de exportación para cada uno de los formatos y deben funcionar correctamente. - Se debe realizar un control de errores adecuado para manejar situaciones inesperadas. 2. **Importación de Datos:** - El microservicio es capaz de importar datos desde archivos Excel correctamente. - Los datos importados se almacenan de manera precisa en la base de datos PostgreSQL. - Se realiza una validación de datos para asegurarse de que no haya duplicados ni información incorrecta. - El proceso de importación debe ser eficiente y no causar cuellos de botella en la base de datos. 3. **Comunicación por Eventos y Suscripciones:** - El microservicio se suscribe a eventos utilizando Redis como ruta de comunicación. - Es capaz de recibir eventos y procesarlos adecuadamente. - La comunicación por eventos es confiable y no se pierden mensajes importantes. - El microservicio puede publicar eventos de manera correcta para notificar sobre ciertas acciones o cambios. 4. **Optimización y Rendimiento:** - El microservicio está diseñado para un alto rendimiento y es eficiente en el uso de recursos. - Se han realizado pruebas de rendimiento para asegurarse de que pueda manejar cargas de trabajo significativas sin degradación del rendimiento. - Las consultas SQL utilizadas están optimizadas y se ejecutan de manera eficiente. 5. **Pruebas y Cobertura de Código:** - Se han realizado pruebas unitarias y de integración exhaustivas que cubren todas las funcionalidades. - La cobertura de código debe ser adecuada, con la mayoría de las rutas y funciones del microservicio probadas. - Se han identificado y corregido todos los errores y problemas de seguridad. 6. **Documentación:** - Se ha proporcionado documentación completa que describe cómo utilizar el microservicio, incluyendo cómo configurarlo, las rutas disponibles y ejemplos de uso. - Se ha documentado el esquema de la base de datos y las estructuras de datos relevantes. 7. **Seguridad:** - El microservicio ha sido evaluado y se han implementado medidas de seguridad para protegerlo contra amenazas comunes, como inyección SQL y acceso no autorizado. - Se han aplicado prácticas recomendadas de seguridad en la comunicación con Redis y PostgreSQL. 8. **Escalabilidad:** - El microservicio se ha diseñado teniendo en cuenta la escalabilidad y puede manejar un aumento en la carga de trabajo sin degradación del rendimiento. 9. **Despliegue:** - El microservicio se puede implementar en un entorno de producción sin problemas. - Se ha proporcionado un plan de implementación que describe los pasos necesarios para poner el microservicio en funcionamiento. Estos son ejemplos de criterios de aceptación que puedes utilizar como base. Deberías adaptarlos a tus necesidades específicas y asegurarte de que los stakeholders estén de acuerdo con ellos antes de iniciar el desarrollo del microservicio. Los criterios de aceptación son fundamentales para garantizar la calidad y el éxito del proyecto.
Categoría Programación y Tecnología
Subcategoría Data Science
Tamaño del proyecto Pequeño
¿Es un proyecto o una posición? Un proyecto
Disponibilidad requerida Según se necesite
Plazo de Entrega: 15 Noviembre, 2023
Habilidades necesarias