Descripción del Proyecto
Plataforma full-stack para músicos que combina React en el frontend con Node.js/Express y MongoDB en el backend, desplegada en una arquitectura cloud completa en AWS. La aplicación permite crear, gestionar y visualizar letras de canciones con acordes, ofreciendo funcionalidades profesionales como transposición automática de tonalidad mediante algoritmos personalizados, scroll automático con velocidad ajustable, y modo presentación optimizado para uso en vivo.
Características Principales
- Editor de letras y acordes: Interfaz intuitiva para crear y editar canciones
- Transposición de tonalidad: Cambio automático de todos los acordes a cualquier tonalidad
- Scroll automático: Velocidad ajustable para práctica o presentaciones
- Biblioteca personal: Organización de canciones por artista, género o playlist
- Modo presentación: Vista optimizada para uso en vivo
- Búsqueda avanzada: Filtros por título, artista, tonalidad o acordes
- Responsive design: Funciona perfectamente en móviles, tablets y desktop
Stack Tecnológico
Frontend
- React: Framework UI con componentes reutilizables
- TailwindCSS: Diseño moderno y responsive
- React Router: Navegación SPA fluida
Backend
- Node.js + Express: API RESTful robusta
- MongoDB: Base de datos NoSQL para almacenar canciones y usuarios
- JWT: Autenticación segura de usuarios
Infraestructura AWS
- AWS EC2: Servidor backend con escalabilidad automática
- Amazon CloudFront: CDN global para distribución rápida de contenido
- AWS Amplify: Deploy continuo del frontend con CI/CD
- Route 53: Gestión de DNS para dominio personalizado
Funcionalidades Destacadas
Transposición Inteligente
El algoritmo de transposición:
- Detecta todos los acordes en la canción
- Calcula la diferencia tonal (semitonos)
- Transpone cada acorde manteniendo su tipo (mayor, menor, séptima, etc.)
- Actualiza la visualización en tiempo real
Scroll Automático
- Velocidad ajustable con controles intuitivos
- Pausa/resume con un click
- Sincronización perfecta para práctica
Arquitectura AWS
Usuario -> CloudFront -> Amplify (Frontend React)
↓
Route 53
↓
EC2 (Backend Node.js) -> MongoDB
Desafíos Técnicos
- Parseo de acordes: Reconocer y manipular correctamente todos los tipos de acordes
- Algoritmo de transposición: Manejar correctamente alteraciones (♯, ♭) y tipos complejos
- Optimización AWS: Configurar correctamente CloudFront para cache y distribución
- Performance: Optimizar queries a MongoDB para búsquedas rápidas
- CI/CD: Configurar pipeline de deploy automatizado en Amplify
Infraestructura Cloud
La arquitectura en AWS proporciona:
- Alta disponibilidad: CloudFront distribuye contenido desde edge locations globales
- Escalabilidad: EC2 con auto-scaling para manejar picos de tráfico
- Deploy continuo: Amplify ejecuta builds automáticos en cada push a main
- Performance: Cache inteligente con CloudFront reduce latencia
Aprendizajes
Este proyecto permitió experiencia práctica en:
- Diseño e implementación de infraestructura cloud completa en AWS
- Configuración de CDN con CloudFront para optimización global
- Deploy automatizado con AWS Amplify
- Gestión de servidores EC2 y configuración de seguridad
- Algoritmos de teoría musical y manipulación de acordes
- Arquitectura de aplicaciones full-stack escalables
- Optimización de performance con cache y CDN