Slide 1
Slide 2
Slide 3
Slide 4
Slide 5
Slide 6
Slide 7
Slide 8

Soundvault

Soundvault es una plataforma para escuchar música, donde los usuarios pueden crear y gestionar sus propias canciones, álbumes y playlists, además de descubrir nueva música.

    Next.jsReactSQL Server

Proceso técnico

Soundvault está construido utilizando Next.js, lo que permite que la construcción del sitio web sea más dinámica y sencilla. React facilita la creación de componentes reutilizables, combinando NextUI y Tailwind CSS para crear un diseño más atractivo. La autenticación de usuarios se maneja a través de NextAuth, lo que permite limitar el acceso a funciones y páginas para los usuarios sin sesión activa, añadiendo una capa extra de protección a las peticiones. Además, Bcrypt se usa para la encriptación de contraseñas al crear una cuenta y para la comparación de estas al iniciar sesión. Como medida adicional de seguridad, Zod se utiliza en algunas peticiones para asegurar la validez de los datos. Soundvault permite a los usuarios subir sus propias canciones e imágenes. Todos estos archivos se manejan y almacenan gracias a la integración con Cloudinary, que se encarga de verificar que los archivos sean adecuados y de reducir su calidad para ahorrar almacenamiento. Estos archivos se almacenan en su plataforma y los datos se devuelven en forma de URL, los cuales se guardan en la base de datos SQL Server, alojada en Azure Database. Todos los usuarios pueden modificar o borrar sus canciones, álbumes, playlists, nombres e imágenes a su antojo. Para el manejo de estados en la web se usó el Context API de React. Las notificaciones se gestionan con React-Toastify, y la edición de imágenes se facilita con React-easy-crop. El despliegue de la plataforma se realiza en Vercel, asegurando un despliegue estable y sencillo gracias a la optimización automática y el soporte nativo que Vercel otorga a los proyectos diseñados en Next.js


Detalles técnicos

  • Librerías:TailwindNextAuthNextUIBcryptCloudinaryMssqlZodReact-ToastifyReact-easy-crop
  • Tiempo de producción: 7 meses

Ir al proyecto