Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OhMyDog! - Sistema de Gestión Veterinaria 🐾

Este proyecto es una plataforma integral para la gestión de una clínica veterinaria, desarrollada como parte de la cátedra de Ingeniería de Software II de la Facultad de Informática (UNLP). La aplicación permite la gestión de turnos, historias clínicas, campañas de donación, adopciones y comunicación directa con los clientes.


🛠️ Stack Tecnológico

  • Frontend: Angular 15, Bootstrap 5, Leaflet (Mapas).
  • Backend: Python 3.9, Flask, SQLAlchemy.
  • Base de Datos: MySQL 8.0.
  • Infraestructura: Docker & Docker Compose (Entorno unificado).

🚀 Proceso de Desarrollo y Metodología

El desarrollo del producto se basó en estándares de la industria, priorizando la comunicación con el cliente y la adaptabilidad ante cambios.

📋 Gestión de Requerimientos

  1. Entrevistas con el Cliente: El proceso inició con sesiones de relevamiento para entender las necesidades del negocio.
  2. Historias de Usuario (HUs): Se definieron HUs claras que representaban el valor de negocio. Estas fueron gestionadas a través de Pivotal Tracker, permitiendo un seguimiento riguroso del estado de cada funcionalidad.

🔄 Metodología SCRUM

Adoptamos un marco de trabajo ágil con las siguientes características:

  • Sprints y Demos: Ciclos de 2 a 3 semanas que culminaban en una Demo Obligatoria con el cliente (ayudante de cátedra), donde se validaba el incremento de software.
  • Sincronización Semanal: Reuniones periódicas para reportar avances, mitigar riesgos y ajustar detalles técnicos o de diseño.
  • Scrum Master Rotativo: Cada ciclo, un miembro del equipo asumía el rol de Scrum Master, siendo responsable de:
    • Redactar informes semanales de planificación.
    • Documentar el progreso y los impedimentos surgidos.
  • Flujo de Aceptación:
    • Asignación de HU -> Desarrollo -> Marcado como Finalizado.
    • En la Demo, el cliente aceptaba o rechazaba la tarea.
    • Las tareas rechazadas reingresaban al flujo para su corrección y re-presentación.

📦 Instalación y Ejecución con Docker

El proyecto está completamente contenerizado para asegurar que el entorno sea idéntico en cualquier máquina.

Formas de Ejecución

Podes ejecutar este proyecto de dos maneras:

Opción A: En la nube (Github Codespaces) - Recomendado

  1. Hace click en el botón Code (verde) y selecciona la pestaña Codespaces
  2. Hace click en Create codespaces on main
  3. Una vez que abra el entorno, ejecuta en la terminal
    docker-compose up --build
  4. Cuando Codespaces te notifique que los puertos están disponibles, asegúrate en la pestaña Ports de que la visibilidad de los puertos 4200 y 5000 sea Public.

Opción B: En tu máquina (Local)

  1. Asegurate de tener instalado Docker y Docker Compose.

  2. Clona el repositorio:

    git clone https://github.com/tu-usuario/OhMyDog-Fullstack.git
    cd OhMyDog-Fullstack
  3. Levanta los servicios

    docker-compose up --build
  4. Acceder a los servicios:

💾 Datos de Prueba (Seeding)

Para facilitar la evaluación del sistema, el entorno Docker incluye un proceso automático de Seeding. Al iniciar por primera vez, la base de datos se poblará automáticamente con:

  • Usuarios Administradores y Clientes (Credenciales: admin@ohmydog.com / admin123).
  • Mascotas registradas con sus respectivas vacunas e historias clínicas.
  • Turnos pendientes y aceptados.
  • Campañas de donación activas con montos ya recaudados.
  • Veterinarias geolocalizadas visibles en el mapa.

🏗️ Arquitectura del Sistema

La solución utiliza un Proxy Inverso configurado en el servidor de desarrollo de Angular para redirigir las peticiones /api al contenedor de Flask, resolviendo de forma nativa los problemas de CORS y facilitando la comunicación entre servicios en la red interna de Docker.


Autores: Franco Kumichel, Antonio Felix Glorioso Ceretti, Nicolas De Rose

About

Sistema integral de gestión veterinaria desarrollado con Flask, Angular 15 y MySQL. Incluye gestión de turnos, historias clínicas, mapas (Leaflet), donaciones y entorno de desarrollo 100% automatizado con Docker. Proyecto bajo metodología SCRUM para Ingeniería de Software II (UNLP)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages