This repository has been archived by the owner on Aug 14, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #36 from Pluumsy/main
agregar encargo Pluumsy
- Loading branch information
Showing
6 changed files
with
84 additions
and
51 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,66 +1,32 @@ | ||
# Desarrollo galería de imágenes | ||
## 2024-05-31: encargo 4 | ||
# 2024-06-14: Encargo 4 | ||
|
||
### **Objetivo**: | ||
Crear un sistema de galería de imágenes utilizando herramientas de programación que permita a los usuarios cargar imágenes y visualizarlas en una interfaz amigable. | ||
## Disposición y orden de imágenes al subirlas | ||
|
||
[REPOSITORIO TEMPLATE](https://github.com/Pluumsy/PortafolioGaleria) | ||
|
||
---- | ||
### Desarrollo | ||
### Objetivo: | ||
Crear una galería de imágenes dinámica que se organiza en un diseño de rejilla "masonry". Las imágenes se cargan automáticamente desde una carpeta y se ordenan en filas, sin necesidad de conocer el número exacto de imágenes por adelantado. | ||
|
||
![imagen formulario](imagenesReadme/IMG_0673.JPG) | ||
### Desarrollo: | ||
|
||
### Node.js: | ||
Es un entorno de ejecución de JavaScript de lado del servidor construido sobre el motor de JavaScript V8 de Google Chrome. Node.js proporciona un entorno de ejecución altamente eficiente y asíncrono, lo que lo hace ideal para aplicaciones de red escalables y de alta concurrencia. | ||
![imagenexplicacion](imagenesReadme/imagenexplicacion.jpg) | ||
### 1. Definir sistema de nombres que funcione para subir imágenes secuencialmente. | ||
|
||
**npm**: Responde a las siglas de Node Package Manager o manejador de paquetes de node, es la herramienta por defecto de JavaScript para la tarea de compartir e instalar paquetes. | ||
|
||
- **Ruta de la carpeta de imágenes:** Todas las imágenes están almacenadas en una carpeta específica. | ||
|
||
- **Búsqueda de Imágenes Existentes:** El script busca imágenes secuenciales (imagen01.jpg, imagen02.jpg, etc.) hasta que encuentra una que no existe, determinando así el número total de imágenes disponibles. | ||
|
||
### 2. Reorganización en Filas: | ||
|
||
### Paquetes npm | ||
- **Lectura de Columnas desde el CSS:** El script determina el número de columnas especificado en el CSS (3 columnas). | ||
|
||
- **express**: es el framework backend más popular para Node.js, y es una parte extensa del ecosistema JavaScript. Está diseñado para construir aplicaciones web. | ||
- **ejs**: Easy Java Simulators (en adelante, Ejs) es una herramienta de software diseñada para la creación de simulaciones discretas por ordenador. | ||
- **fs-extra**: agrega métodos de sistema de archivos que no están incluidos en el fsmódulo nativo y agrega soporte de promesa a los fsmétodos. | ||
- **Mongoose**: es una biblioteca de programación orientada a objetos - JavaScript que crea una conexión entre MongoDB y el entorno de ejecución de JavaScript Node.js | ||
- **Morgan**: ayuda en la consola lo que recibo en el servidor | ||
- **Multer**: es un middleware de node.js para el manejo multipart/form-data, que se utiliza principalmente para cargar archivos . | ||
- **Reorganización Dinámica:** Las imágenes se reorganizan para que aparezcan en filas, permitiendo que los usuarios puedan ordenar sus imágenes, según sus proyectos de interés. | ||
|
||
- **Uuid**: Permite generar un id aleatorio | ||
[GALERIA DE IMAGENES](https://pluumsy.github.io/PortafolioGaleria/) | ||
|
||
### MongoDB | ||
Es un sistema de base de datos NoSQL, orientado a documentos y de código abierto. | ||
![imagen](imagenesReadme/imagengaleria.png) | ||
|
||
----- | ||
### Creación de archivos | ||
- **index.js**: maneja el inicio de la aplicación, el enrutamiento y otras funciones. | ||
- **database.js**: hacer conexión con la base de datos. | ||
Automatización: Los usuarios pueden subir imágenes a la carpeta sin necesidad de actualizar manualmente el código o la página. | ||
|
||
### Creación de carpetas Carpetas | ||
- Models: para guardar los modelos. | ||
- Public: para guardar imágenes públicas. | ||
- Routes: para definir las rutas del servidor. | ||
- Views: para formulario en donde se subirán imágenes, imágenes listadas. | ||
------ | ||
### Elaboración de rutas | ||
|
||
- Se crea un enrutador de Express para manejar las solicitudes HTTP entrantes. | ||
- Se importa el modelo de imagen desde el archivo correspondiente en el directorio de modelos. | ||
- Se definen varias rutas para mostrar páginas y manejar la subida y eliminación de imágenes. | ||
|
||
### Creación del formulario | ||
![imagen formulario](imagenesReadme/IMG_1259.jpg) | ||
|
||
- Se utiliza Bootstrap para el diseño responsivo y la apariencia del formulario de carga de imágenes. | ||
- El formulario tiene un campo de entrada de archivos que permite a los usuarios seleccionar una imagen para subir. | ||
|
||
### Almacenar en la base de datos | ||
- Se define un esquema de Mongoose para el modelo de imagen, que describe la estructura de datos de un documento de imagen. | ||
- El esquema incluye campos como título, descripción, nombre de archivo, tipo de archivo, tamaño y fecha de creación. | ||
- El modelo de imagen se exporta para que pueda ser utilizado por otros archivos de la aplicación para interactuar con la base de datos MongoDB. | ||
|
||
----- | ||
### ¿Cómo subirla? | ||
![imagen formulario](imagenesReadme/subida2.jpg) | ||
Adaptabilidad: La galería se adapta dinámicamente a la cantidad de imágenes y al diseño de columnas especificado en el CSS. | ||
|
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.