PetFinder es una plataforma en línea que permite a los usuarios publicar y buscar información sobre mascotas perdidas o disponibles para adopción. El objetivo principal es facilitar la reunificación de mascotas perdidas con sus dueños y promover la adopción de animales sin hogar.
-
🙍♂️ Registro de usuarios y perfiles
- Los usuarios pueden crear cuentas y perfiles personalizados
- Los perfiles incluyen información de contacto y ubicación
-
📢 Publicación de mascotas perdidas
- Los usuarios pueden crear publicaciones con detalles de la mascota perdida (descripción, fotos, ubicación, etc.)
- Las publicaciones se pueden compartir en redes sociales para aumentar su visibilidad
-
🐶 Publicación de mascotas en adopción
- Las organizaciones y usuarios pueden crear perfiles de mascotas disponibles para adopción
- Los perfiles incluyen información detallada sobre la mascota (raza, edad, personalidad, requisitos de adopción, etc.)
-
🔍 Búsqueda y filtrado
- Los usuarios pueden buscar mascotas perdidas o en adopción por ubicación, raza, tamaño, color, etc.
- Los resultados de búsqueda se pueden ordenar por relevancia o fecha
-
💬 Sistema de mensajería
- Los usuarios pueden comunicarse entre sí a través de un sistema de mensajería integrado
- Las organizaciones pueden recibir consultas sobre mascotas en adopción
-
🔔 Notificaciones y alertas
- Los usuarios pueden recibir notificaciones sobre mascotas perdidas en su área
- Las alertas se envían por correo electrónico o notificaciones push
-
🗺️ Integración de mapas
- Las publicaciones de mascotas perdidas y en adopción se muestran en un mapa interactivo
- Los usuarios pueden ver mascotas cercanas a su ubicación
-
✅ Sistema de verificación
- Las organizaciones de adopción pueden verificar su legitimidad
- Los usuarios pueden reportar publicaciones sospechosas o fraudulentas
-
📚 Recursos y educación
- La plataforma incluye artículos y recursos sobre el cuidado de mascotas, la prevención de pérdidas y el proceso de adopción
- Se proporcionan consejos para ayudar a las mascotas perdidas a regresar a casa
-
💕 Historias de éxito
- Los usuarios pueden compartir historias de mascotas perdidas reunidas o adoptadas exitosamente
- Estas historias inspiran y motivan a otros usuarios
- React.js: Biblioteca de JavaScript para construir interfaces de usuario interactivas.
- Lumen: Un micro-framework PHP ligero y rápido basado en Laravel.
- MySQL: Sistema de gestión de bases de datos relacional.
- Nginx: Servidor web y proxy inverso.
- Docker: Para la contenerización y fácil despliegue.
- Swagger: Para la documentación interactiva de la API.
El código fuente está disponible en GitHub.
- Node.js y npm para el front-end
- PHP ^8.1 para el back-end
- Docker y Docker Compose para el despliegue
- Clonar el repositorio:
git clone https://github.com/tu-usuario/pet-finder.git
. - Navegar al directorio del proyecto:
cd pet-finder
. - Configurar las variables de entorno en los archivos
.env
para el front-end y el back-end. - Ejecutar
docker-compose up -d
para iniciar los contenedores. Esto iniciará los servicios de React, Lumen, MySQL y Nginx.
La documentación interactiva de la API generada por Swagger estará disponible en http://localhost:9002/api/documentation
una vez que hayas iniciado los contenedores. Esta documentación proporciona detalles completos sobre los endpoints disponibles y su uso.
Si realizas cambios en la API que requieran una actualización de la documentación, puedes regenerar la documentación de Swagger de forma automática. Para hacerlo, ejecuta los siguientes comandos:
# Para regenerar la documentación de Swagger
sh doc.sh
# Para ejecutar comandos de Artisan (por ejemplo, make:migration)
sh artisan.sh make:migration test