Sign inSign up

vimofama/api-adopicon-mascotas

By vimofama

•Updated about 1 year ago

API para gestionar usuarios, mascotas y adopciones, con Spring Boot

Image
0

10K+

vimofama/api-adopicon-mascotas repository overview

⁠API de Adopción de Mascotas 🐾

Una API RESTful para gestionar el proceso de adopción de mascotas, desarrollada con Spring Boot 3.5.3 y Java 24. Esta aplicación está diseñada para gestionar usuarios, mascotas y el proceso de adopción entre ellos, todo dentro de un contenedor Docker para facilitar su despliegue y escalabilidad.

⁠🚀 Características

  • Gestión de usuarios: Crear, actualizar, eliminar y consultar usuarios.
  • Gestión de mascotas: Crear, actualizar, eliminar y consultar mascotas disponibles para adopción.
  • Proceso de adopción: Permite a los usuarios adoptar mascotas a través de un sencillo endpoint.
  • Base de datos MySQL: Persistencia de datos usando MySQL 8.0.
  • Dockerizado: La aplicación se ejecuta en Docker, incluyendo soporte completo para Docker Compose para un fácil despliegue.
  • Monitoreo con Spring Boot Actuator: Acceso a métricas, salud y otros endpoints de monitoreo.
  • Pruebas de integración: Con JUnit 5 para asegurar el correcto funcionamiento de todos los controladores.

⁠🛠 Tecnologías

  • Java 24
  • Spring Boot 3.5.3
  • Spring Data JPA
  • Spring Boot Actuator
  • MySQL 8.0
  • Docker & Docker Compose
  • JUnit 5 (para testing)

⁠🏃‍♂️ Instalación y Ejecución

⁠Ejecutar con Docker

Si ya tienes MySQL ejecutándose localmente:

docker build -t api-adopcion .
docker run -p 8080:8080 -e SPRING_DATASOURCE_URL=jdbc:mysql://host.docker.internal:3306/adopcion_db -e SPRING_DATASOURCE_USERNAME=useradop -e SPRING_DATASOURCE_PASSWORD=password api-adopcion

⁠📚 Endpoints de la API

⁠Usuarios
  • GET /api/usuarios: Obtener todos los usuarios.
  • POST /api/usuarios: Crear nuevo usuario.
  • PUT /api/usuarios/{id}: Actualizar usuario por ID.
  • DELETE /api/usuarios/{id}: Eliminar usuario.
⁠Mascotas
  • GET /api/mascotas: Obtener todas las mascotas.
  • POST /api/mascotas: Crear nueva mascota.
  • PUT /api/mascotas/{id}: Actualizar mascota por ID.
  • DELETE /api/mascotas/{id}: Eliminar mascota.
⁠Adopciones
  • POST /api/adopciones?idMascota={idMascota}&idUsuario={idUsuario}: Crear nueva adopción.

⁠🧑‍💻 Monitoreo

  • Health Check: /actuator/health
  • Metrics: /actuator/metrics

⁠🚨 Manejo de Errores

La API maneja códigos HTTP estándar para indicar el estado de las operaciones:

  • 200 OK
  • 201 CREATED
  • 400 BAD_REQUEST
  • 404 NOT_FOUND
  • 500 INTERNAL_SERVER_ERROR

⁠⚙️ Configuración

La aplicación incluye soporte para variables de entorno, especialmente útil al usar Docker Compose:

SPRING_DATASOURCE_URL=jdbc:mysql://localhost:3306/adopcion_db
SPRING_DATASOURCE_USERNAME=useradop
SPRING_DATASOURCE_PASSWORD=password

⁠📝 Autor

VIM - vimofama⁠

Tag summary

Content type

Image

Digest

sha256:e7bdf8501…

Size

155.9 MB

Last updated

about 1 year ago

docker pull vimofama/api-adopicon-mascotas