Skip to content

Gestión de cargas de documentos (perfil, identificación, addressProof, accountProof) con Multer y upgrade a usuarios premium.

Notifications You must be signed in to change notification settings

CastoGil/file-upload-multer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# Multer Document Uploader

Aplicación Node.js/Express que permite gestionar la carga de documentos y archivos para usuarios y productos, con validaciones y ascenso a cuentas premium.

## ✨ Características
- Carga de archivos mediante Multer con almacenamiento en carpetas según tipo: documentos, perfiles, productos.
- Validaciones de tipo y tamaño de archivo.
- Asociación de documentos a usuarios para actualizar su estado (ej. verificación KYC).
- Upgrade a usuario premium cuando los documentos requeridos están completos.
- Vistas con Handlebars para cargar y administrar archivos.

## 🔧 Stack
- Node.js y Express
- Multer
- Handlebars
- MongoDB y Mongoose

## 📎 Instalación
    git clone https://github.com/CastoGil/Multer.git
    cd Multer
    npm ci
    cp .env.example .env
    npm start

## 📸 Guía de uso
- Dirígete a `/users/:uid/documents` para cargar documentos.
- Sube archivos de tipo PDF/JPEG/PNG según corresponda (identificación, domicilio, etc.).
- Una vez cargados los requisitos, el admin podrá ascender tu cuenta a premium.

## 📂 Flujo de carga de documentos
- El usuario accede a `/users/:uid/documents` y elige los archivos a subir.
- El middleware `upload.js` (en `src/middlewares/`) valida el tipo y tamaño del archivo y los guarda en carpetas según su categoría (perfil, identificación, domicilio, etc.).
- Después de subir todos los documentos requeridos, el admin puede ascender la cuenta a premium.
- La lógica para actualizar la cuenta de usuario se encuentra en `src/controllers/userController.js`.

## 📒 Archivos clave
- `src/middlewares/upload.js`: Configuración de Multer y validación de archivos.
- `src/controllers/userController.js`: Funciones `uploadDocuments` y `updateUserRole`.
- `src/models`: Definiciones de esquemas Mongoose para usuarios y documentos.
- `src/views/`: Plantillas Handlebars para formularios y panel de administración.

About

Gestión de cargas de documentos (perfil, identificación, addressProof, accountProof) con Multer y upgrade a usuarios premium.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published