Languages: Español | English
Una aplicación web moderna para explorar y gestionar tu colección personal de comics de Marvel.
- Búsqueda de Comics: Explora miles de comics de Marvel usando la API oficial
- Sistema de Favoritos: Guarda tus comics favoritos y accede a ellos fácilmente
- Autenticación de Usuarios: Sistema seguro de login/registro con Firebase
- Carrusel Dinámico: Visualiza portadas destacadas de comics
- Vista Modal de Detalles: Información completa de cada comic
- Diseño Responsive: Optimizado para todos los dispositivos
- Interfaz Moderna: Diseño atractivo con gradientes y efectos visuales
- HTML5 - Estructura semántica
- CSS3 - Estilos modernos con gradientes y animaciones
- JavaScript (ES5) - Lógica de la aplicación
- jQuery - Manipulación del DOM
- Backbone.js - Framework MVC
- Marionette.js - Extensión de Backbone para vistas complejas
- Mustache.js - Motor de plantillas
- Firebase Auth - Autenticación de usuarios
- Firebase Firestore - Base de datos para favoritos
- Marvel API - Datos de comics oficiales
marvel-comics-browser/
├── index.html # Página principal
├── styles/
│ └── main.css # Estilos principales
├── js/
│ ├── main.js # Inicialización de la app
│ ├── collections/ # Colecciones Backbone
│ │ ├── Comics.js # Colección de comics
│ │ └── MisComics.js # Colección de favoritos
│ ├── models/
│ │ └── Comic.js # Modelo de comic
│ ├── services/
│ │ └── FirebaseService.js # Servicios de Firebase
│ ├── utils/
│ │ ├── EnvConfig.example.js # Configuración de ejemplo de las variables de entorno
│ │ └── LoadingNotificationSystem.js # Sistema de notificaciones
│ ├── vendor/ # Librerías externas
│ │ ├── backbone.js
│ │ ├── backbone.marionette.min.js
│ │ ├── jquery.js
│ │ ├── mustache.js
│ │ └── underscore.js
│ └── views/ # Vistas de la aplicación
│ ├── VistaBuscarComics.js
│ ├── VistaCabecera.js
│ ├── VistaCarousel.js
│ ├── VistaComic.js
│ ├── VistaComics.js
│ ├── VistaDetallesComicModal.js
│ ├── VistaFavorito.js
│ ├── VistaGlobal.js
│ ├── VistaLogin.js
│ └── VistaRegister.js
└── assets/ # Recursos estáticos
├── Icon.png
└── portada-*.webp # Imágenes del carrusel
git clone https://github.com/Over1185/Marvel_browser-Firebase_Integration.git
cd Marvel_browser-Firebase_Integration
Crea un archivo js/utils/EnvConfig.js
basado en EnvConfig.example.js
:
Marvel.Config = {
MARVEL_PUBLIC_KEY: 'tu_clave_publica_marvel',
MARVEL_PRIVATE_KEY: 'tu_clave_privada_marvel',
FIREBASE_CONFIG: {
apiKey: "tu_api_key_firebase",
authDomain: "tu-proyecto.firebaseapp.com",
projectId: "tu-proyecto",
storageBucket: "tu-proyecto.appspot.com",
messagingSenderId: "123456789",
appId: "tu_app_id"
}
};
Marvel API:
- Regístrate en Marvel Developer Portal
- Obtén tu clave pública y privada
Firebase:
- Crea un proyecto en Firebase Console
- Habilita Authentication (Email/Password)
- Configura Firestore Database
- Obtén la configuración del proyecto
# Con Python 3
python3 -m http.server 8000
# Con Node.js (si tienes http-server instalado)
npx http-server -p 8000
# Con PHP
php -S localhost:8000
Abre tu navegador en http://localhost:8000
- Usa el formulario de búsqueda en la página principal
- Ingresa el nombre de un comic o personaje
- Explora los resultados mostrados
- Regístrate o inicia sesión con tu email
- Haz clic en "♡ Favorito" en cualquier comic
- Accede a "Mis Comics" desde el menú superior
- Gestiona tu colección personal
- Haz clic en "Ver detalles" para información completa
- Ve precios, fechas, descripciones y más
- Añade a favoritos directamente desde el modal
- Gradientes Modernos: Paleta de colores inspirada en Marvel
- Animaciones Suaves: Transiciones y efectos hover
- Carrusel Infinito: Scroll automático de portadas
- Modal Responsivo: Diseño adaptativo para todos los dispositivos
- Estados Visuales: Feedback claro para acciones del usuario
- Models: Representación de datos de comics
- Views: Componentes de interfaz reutilizables
- Collections: Gestión de listas de comics
- Sincronización automática entre vistas
- Actualizaciones en tiempo real de favoritos
- Manejo de estados de autenticación
- Carga diferida de imágenes
- Cacheo de resultados de API
- Compresión de assets estáticos
- Límites de API: La Marvel API tiene límites de uso diario
- Configuración: Las claves de API no deben compartirse públicamente
- Navegadores: Compatible con navegadores modernos (Chrome, Firefox, Safari, Edge)