ver 0.0.6
PhotoWall es una aplicación web que permite a los usuarios subir y mostrar imágenes en una galería interactiva y dinámica utilizando NanoGallery2. La galería se presenta en un diseño tipo mosaico y cuenta con un botón flotante para facilitar la subida de nuevas imágenes.
- Subida de imágenes mediante un botón flotante.
- Visualización de imágenes en una galería tipo mosaico utilizando NanoGallery2.
- Diseño responsivo que se adapta a diferentes tamaños de pantalla.
- Backend con Node.js y Express para manejar la carga y visualización de imágenes.
- Autenticación de usuarios utilizando Passport.js.
- Base de datos SQLite para almacenamiento de usuarios.
- Dashboard de administración para gestión de usuarios.
- Node.js (versión 12 o superior)
- npm (gestor de paquetes de Node.js)
-
Clona el repositorio a tu máquina local:
git clone https://github.com/velosergio/PhotoWall
-
Navega al directorio del proyecto:
cd PhotoWall -
Instala las dependencias necesarias:
npm install
-
Inicia el servidor:
node server.js
-
Abre tu navegador y navega a
http://localhost:3000. -
Usa el botón flotante
+en la esquina inferior derecha para seleccionar y subir imágenes. Las imágenes se mostrarán automáticamente en la galería tipo mosaico. -
Para acceder al dashboard de administración, navega a
http://localhost:3000/admin. Debes estar autenticado para acceder a esta ruta.
public/index.html: Archivo HTML principal.styles.css: Estilos personalizados para la página.script.js: Lógica de JavaScript para manejar la galería y la subida de imágenes.login.html: Página de inicio de sesión.register.html: Página de registro de usuarios.admin.html: Página principal del dashboard de administración.admin-users.html: Página de gestión de usuarios en el dashboard de administración.assets/js/: Directorio para scripts JavaScript personalizados.corefix.js: Script para corregir funcionalidades de CoreUI.admin-users.js: Script para manejar la lógica de la página de gestión de usuarios.
uploads/: Directorio donde se almacenan las imágenes subidas.models/user.js: Configuración y creación de la tabla de usuarios.
routes/auth.js: Rutas para autenticación de usuarios (login, register, logout).image.js: Rutas para subir y listar imágenes.userRoutes.js: Ruta para obtener todos los usuarios registrados.adminRoutes.js: Rutas para el dashboard de administración.forgotPassword.js: Rutas para restablecimiento de contraseñas.resetPassword.js: Rutas para actualizar contraseñas.
config/passport.js: Configuración de Passport.js para autenticación.
server.js: Archivo del servidor Node.js para manejar las rutas de la aplicación.package.json: Archivo de configuración de npm con las dependencias del proyecto.
- NanoGallery2 para la galería de imágenes.
- Node.js y Express para el backend.
- Multer para la gestión de la subida de archivos.
- Sharp para la optimización de imágenes.
- Passport.js para la autenticación de usuarios.
- bcryptjs para el hashing de contraseñas.
- SQLite como base de datos.
- CoreUI para el dashboard de administración.
Las contribuciones son bienvenidas. Si tienes alguna mejora o corrección, por favor abre un issue o envía un pull request.
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.