Bienvenido al repositorio de Interstellar, una página web creada como tributo a la película Interstellar. Este proyecto está construido en Astro y utiliza diversas tecnologías en su stack, incluyendo JavaScript, phpMyAdmin para la gestión de bases de datos, AstroAuth para la gestion de login y register, y Tailwind CSS para el diseño y estilo.
- Descripción del Proyecto
- Tecnologías Utilizadas
- Estructura del Proyecto
- Instalación y Configuración
- Funcionalidades
- Ejemplos de Uso
- Contribuciones
- Licencia
Este proyecto está pensado como una página de fans de la película Interstellar, con secciones sobre la película, el director, los actores, la banda sonora, y más. La página permite a los usuarios registrarse, iniciar sesión y acceder a contenido exclusivo.
El backend permite autenticación básica, mientras que el frontend está diseñado para ser visualmente atractivo, gracias a Tailwind CSS y componentes de Astro. La base de datos se gestiona a través de phpMyAdmin, y AstroAuth se encarga de manejar el inicio de sesiçon y el registro.
- Astro: Framework principal para la generación del frontend.
- JavaScript: Utilizado en el frontend y en el backend para manejar interactividad y lógica.
- AstroAuth: Biblioteca de autenticación utilizada en Astro para implementar login y registro de manera eficiente, incluyendo soporte para múltiples proveedores de autenticación como Google.
- phpMyAdmin: Herramienta de administración de la base de datos.
- Tailwind CSS: Framework de CSS utilizado para el diseño responsive.
- Docker: Para la configuración y despliegue del proyecto en entornos aislados.
El proyecto tiene la siguiente estructura de archivos y carpetas:
└── 📁Interstellar
└── 📁backend
└── 📁config
└── 📁Controllers
└── 📁Middleware
└── 📁Routes
└── 📁Uploads
└── 📁public
└── 📁src
└── 📁components
└── 📁Icons
└── 📁layouts
└── 📁pages
└── 📁servicess
└── env.d.ts
└── docker-compose.yml
└── Dockerfile
- Node.js y npm deben estar instalados en tu sistema.
- Docker (para un entorno aislado y fácil de desplegar).
- phpMyAdmin para la gestión de la base de datos en MySQL.
Clona este repositorio:
git clone https://github.com/davidvillard/interstellar
cd interstellarInstala las dependencias:
npm installConfigura Docker para iniciar phpMyAdmin y MySQL:
docker-compose up -dEjecuta Astro en modo de desarrollo:
npm run dev- Otra opción es inciar el contenedor en docker ya ya se despliega la aplicación
Accede a la aplicación en http://localhost:4321.
- Registro e Inicio de Sesión: Los usuarios pueden registrarse e iniciar sesión. La autenticación se maneja en el backend usando AstroAuth.
- Base de Datos: Las credenciales de los usuarios y otros datos se almacenan en una base de datos MySQL gestionada a través de phpMyAdmin.
- Frontend: La página es completamente responsive gracias a Tailwind CSS. La interfaz está diseñada para ser visualmente atractiva y fácil de usar.
- About: Una sección que proporciona una descripción general de la película Interstellar, incluyendo contexto y detalles de la producción.
- Director: Información detallada sobre el director de Interstellar, su visión y estilo de dirección.
- Cast: Información sobre el reparto principal, sus personajes en la película, y sus contribuciones a la trama.
- Media: Galerías de imágenes, videos, y otros medios relacionados con la película.
- Soundtrack: Una lista de las pistas principales de la banda sonora de la película.
- Sistema de Streaming: Información sobre las plataformas donde se puede ver Interstellar.
- Contenido Exclusivo: Acceso a contenido exclusivo para usuarios registrados, como entrevistas y materiales especiales.
- Los usuarios pueden registrarse ingresando datos como nombre, correo electrónico, y contraseña.
- La contraseña es protegida con bcrypt para mayor seguridad.
- Después de registrarse, los usuarios pueden iniciar sesión y acceder a contenido exclusivo. (Implementación)
- La autenticación se maneja a través de AstroAuth
- Puedes gestionar y consultar los datos del usuario usando phpMyAdmin accediendo a
http://localhost:3306.
Las contribuciones son bienvenidas. Si tienes sugerencias de nuevas funcionalidades o mejoras, abre un issue o envía un pull request.
Realiza un fork del repositorio.
Crea tu branch con la funcionalidad nueva:
git checkout -b feature/nueva-funcionalidad
Haz commit de tus cambios:
git commit -m 'Agrega nueva funcionalidad'Sube el branch a GitHub:
git push origin feature/nueva-funcionalidad
Abre un pull request para revisión.
Este proyecto está bajo la Licencia MIT. Puedes consultar el archivo LICENSE para más detalles.
