MiniCDN
Gracias a las ganas de aprender Spring Boot, se me ocurrió crear este proyecto de MiniCDN. Pero lo primero es… ¿para qué sirve este proyecto?
Este proyecto nace de la necesidad de poder acceder a imágenes o videos mediante un enlace personalizado, para así utilizarlos como integración en otras aplicaciones (como bots de Discord, software de mensajería, almacenamiento de contenido, etc.).
Aquí una pequeña demo: subo una imagen a mi aplicación y esta me devuelve la URL para visualizarla.

⚙️ Características principales
Este proyecto implementa una API REST muy sencilla, pero con una arquitectura diseñada para ser expandible y práctica. Sus componentes principales son:
- Spring Boot → Framework principal.
- Spring Data JPA / Hibernate → Persistencia en base de datos.
- Redis → Cacheo y control de expiración.
- Almacenamiento local → Sistema de archivos para guardar imágenes.
Con esta base, la aplicación te permite:
✔️ Subir imágenes mediante un endpoint REST y recibir una URL pública en respuesta.
✔️ Definir fechas de expiración opcionales para cada recurso.
✔️ Servir las imágenes con el tipo de contenido adecuado.
✔️ Consultar todas las imágenes disponibles en formato JSON o HTML.
✔️ Integrarse fácilmente con bots, aplicaciones o servicios externos.
Despliegue
Esta aplicación utiliza Docker para su despliegue y puesta en marcha, lo que permite contar con un entorno más controlado y facilita iniciar la aplicación con tan solo un comando.
Conclusión
MiniCDN es un ejercicio práctico para aprender a integrar Spring Boot con bases de datos, Redis, almacenamiento de archivos locales y Docker. Aunque es un proyecto sencillo, tiene una aplicación real: servir como base para pequeños sistemas de almacenamiento o entrega de contenido que pueden usarse en proyectos personales, bots o microservicios.