Skip to content

Factoria-F5-dev/CRUD-py-project-2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

🚀 Proyecto: Sistema de Gestión Personalizado

Banner Proyectos

📋 Planteamiento

Eres parte de un equipo de desarrollo en una consultora tecnológica especializada en soluciones para pequeñas y medianas empresas. Tu equipo ha sido contactado por un emprendedor local que necesita digitalizar y optimizar la gestión de su negocio.

El cliente puede tener cualquier tipo de negocio: una escuela, una tienda en línea, un gimnasio, un restaurante, etc. El desafío es crear una solución personalizada que se adapte a las necesidades específicas del negocio elegido.

🎯 Objetivo

Desarrollar una API REST y una base de datos SQL que permitan al cliente gestionar eficientemente su negocio, reemplazando los métodos manuales actuales y preparando el negocio para un crecimiento futuro.

🛠️ Requisitos Técnicos

  1. Base de datos SQL (PostgreSQL, MySQL, etc.)
  2. API REST (usando Flask, FastAPI, Django REST Framework, etc.)
  3. Sistema de autenticación y autorización
  4. Documentación completa de la API
  5. Tests unitarios y de integración
  6. Control de versiones con Git y GitHub
  7. Gestión del proyecto con metodologías ágiles (SCRUM)

📅 Plazos

Se estiman dos semanas para el desarrollo del prototipo funcional.

📦 Entregables

  1. 📊 Diagrama ER de la base de datos
  2. 💻 Repositorio en GitHub con código fuente
  3. 🔗 Documentación de la API (Swagger o similar)
  4. ✅ Suite de tests completa y pasando
  5. 📝 Documento de retrospectiva del proyecto
  6. 📌 Tablero Kanban (Trello, Jira, etc.) con historias de usuario

🏆 Niveles de Entrega

Nivel Esencial 🥉

  • Mínimo 3 tablas relacionadas en la base de datos
  • API REST con operaciones CRUD básicas
  • Tests unitarios para cada endpoint
  • Documentación en Markdown
  • Gestión de proyecto con Kanban
  • Variables de entorno para datos sensibles
  • Logging básico
  • Manejo de excepciones simple

Nivel Medio 🥈

  • Estructura de base de datos más compleja (5+ tablas)
  • Documentación interactiva (Swagger)
  • Manejo avanzado de errores con códigos HTTP apropiados
  • Exportación de datos a CSV
  • Filtrado y paginación en endpoints GET

Nivel Avanzado 🥇

  • Autenticación con JWT
  • Roles de usuario y permisos
  • Caché de respuestas para optimizar rendimiento
  • Implementación de websockets para actualizaciones en tiempo real

Nivel Experto 🏅

  • Contenedorización con Docker
  • Despliegue en la nube (AWS, Google Cloud, etc.)
  • Integración con servicios externos (pagos, notificaciones, etc.)
  • Interfaz de usuario básica (web o móvil)

💡 Consejos

  • Elige un tipo de negocio que te interese y sea realista para un emprendedor local.
  • Piensa en las necesidades específicas de ese negocio al diseñar tu base de datos y API.
  • Mantén la flexibilidad en tu diseño para futuras expansiones o cambios en el negocio.
  • Prioriza la seguridad y la eficiencia en tu implementación.

🌟 Evaluacion

Competencia: Gestionar eficientemente proyectos de desarrollo con herramientas de control de versiones

  • Uso de github, gitlab o bitbucket
  • Conectar repo local al remoto
  • Uso de gitflow methodology
  • Uso de commits descriptivos
  • Uso apropiado de ramas
  • Uso de nomenclatura en commits
  • Uso de nomenclatura en ramas

Competencia: Ser capaz de desarrollar un programa en Python

  • Uso de Control de errores (cláusula try/except)
  • Uso de herramientas de logger
  • Uso de frameworks (FastAPI, Flask, Django)
  • Uso de librerias
  • Uso de Entornos virtuales (venv, conda, virtualenv)
  • Uso de Archivo de dependencias (requirements.txt)

Competencia: Diseñar y gestionar bases de datos de manera eficiente

  • Uso de Modelado de datos
  • Uso de Normalización de datos

Competencia: Implementar tests para garantizar la calidad del software

  • Uso de Test Unitarios
  • Uso de Test de Integración

¡Buena suerte con tu proyecto! 🍀

Releases

No releases published

Packages

No packages published