Sobre el proyecto
ANIMATCH es una aplicación web para la adopción de mascotas nacida como Trabajo de Fin de Máster Universitario en el Máster Universitario en Desarrollo de Aplicaciones y Servicios Web de la Universidad Internacional de Valencia, en el curso académico 2025-2026.
El proyecto ha sido realizado por Rubén Angoso Berrocal y tutorizado por Rubén Pérez Ibañez.
Motivación
En España, el abandono animal es un problema persistente que afecta a miles de mascotas cada año. Las protectoras desempeñan un papel fundamental en la sociedad, pero el proceso de adopción presenta obstáculos significativos: cada protectora gestiona su presencia en internet de manera independiente, obligando a los ciudadanos a recorrer múltiples sitios web para explorar las opciones disponibles. Además, muchas protectoras, especialmente las de ámbito local, carecen de los recursos técnicos y económicos para mantener una plataforma digital propia.
ANIMATCH surge para centralizar y unificar el proceso de búsqueda y adopción de mascotas, proporcionando una herramienta gratuita que conecte a ciudadanos que desean adoptar con protectoras que buscan dar visibilidad a los animales a su cargo.
¿Qué ofrece ANIMATCH?
La plataforma está diseñada para tres tipos de usuario:
- Usuarios: Pueden explorar las mascotas disponibles, filtrarlas por criterios propios, marcar favoritos, enviar solicitudes de adopción y mantener un canal de comunicación directo con las protectoras mediante un sistema de chat.
- Protectoras: Pueden publicar y gestionar las mascotas disponibles, incluyendo su historial médico y datos de salud. Además, pueden gestionar las solicitudes de adopción recibidas y acceder a estadísticas de sus publicaciones.
- Administradores: Disponen de un panel de gestión con estadísticas globales de usuarios, protectoras y mascotas, además de funcionalidades de moderación mediante un sistema de reportes.
Tecnologías utilizadas
El desarrollo de ANIMATCH ha utilizado tecnologías modernas y de código abierto:
- Backend: Java 21 con Spring Boot 3.5, siguiendo una arquitectura por capas con control de acceso basado en roles mediante un sistema de anotaciones personalizadas.
- Frontend: Astro 5.17 combinado con React 19 para componentes interactivos, Tailwind CSS 4 para estilos y la librería de componentes shadcn/ui.
- Base de datos: PostgreSQL gestionada a través de Supabase, proporcionando una infraestructura escalable y fiable.
- Autenticación: Sistema basado en tokens JWT (JSON Web Token) con roles diferenciados (Usuario, Protectora, Administrador).
- Despliegue: Backend en Render con Docker, frontend en Vercel y servicio de correo electrónico mediante Resend.
Arquitectura
La aplicación sigue una arquitectura cliente-servidor con separación clara de responsabilidades: el frontend presenta la información y gestiona la interacción del usuario, el backend procesa la lógica de negocio y expone una API REST, y la base de datos almacena toda la información de forma persistente. Las imágenes de las mascotas se almacenan en Cloudflare, manteniendo en la base de datos únicamente las referencias URL.
Funcionalidades principales
- Registro e inicio de sesión con verificación por correo electrónico.
- Búsqueda y filtrado de mascotas por tipo, raza, ubicación y otros criterios.
- Gestión de favoritos para guardar mascotas de interés.
- Sistema de solicitudes de adopción con seguimiento de estados (pendiente, aceptada, rechazada).
- Chat en tiempo real entre usuarios y protectoras.
- Gestión completa de mascotas por parte de las protectoras (alta, edición, baja).
- Historial médico de cada mascota con intervenciones veterinarias.
- Panel de administración con estadísticas y sistema de reportes.
Alineación con los ODS
El proyecto se alinea con varios Objetivos de Desarrollo Sostenible (ODS) de la Agenda 2030 de las Naciones Unidas:
- ODS 3 - Salud y bienestar: Promueve la adopción responsable de animales domésticos, mejorando su calidad de vida.
- ODS 11 - Ciudades y comunidades sostenibles: Contribuye a reducir el abandono animal en entornos urbanos, favoreciendo una convivencia más equilibrada.
- ODS 15 - Vida de ecosistemas terrestres: Promueve la protección y el cuidado de los animales, fomentando el respeto hacia la fauna.