Skip to content

EXTRANFUNEDGAR/Serv_Prepper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛠️ ServPrepper: Sistema de Gestión de Inventario y Documentos

ServPrepper es una aplicación web desarrollada en Python con Flask que permite gestionar inventarios físicos, subir documentos clasificados por categoría/subcategoría/ubicación, y exportar datos a PDF. Está diseñada para funcionar en entornos sin conexión o en contextos tácticos, como talleres, almacenes, bases de operaciones o situaciones prepper.

🚀 Características

  • ✅ Gestión de objetos por categoría, subcategoría y ubicación
  • ✅ Subida y visualización de documentos (PDF, JPG, PNG, etc.)
  • ✅ Filtros y búsqueda avanzada para los documentos
  • ✅ Exportación del inventario filtrado a PDF
  • ✅ Visualización de estado de caducidad: por caducar (naranja) y caducado (rojo)
  • ✅ Alternancia entre vista por categoría y vista por ubicación
  • ✅ Sistema de autenticación de usuarios (registro, login, logout)
  • ✅ Interfaz simple, intuitiva y responsiva

📁 Estructura del Proyecto

serv_prepper/
├── app.py                  # Lógica principal con Flask
├── data.json               # Inventario (estructura por categoría y objetos)
├── usuarios.json           # Base de usuarios registrados
├── requirements.txt        # Dependencias
├── README.md               # Este documento
├── templates/              # HTML con Jinja2
│   ├── base.html
│   ├── index.html
│   ├── agregar.html
│   ├── editar.html
│   ├── ver.html
│   ├── login.html
│   ├── registro.html
│   └── exportar_inventario.html
├── static/
│   └── estilos.css         # Estilos generales
└── venv_prepper/           # Entorno virtual (ignorado por Git)

🖥️ Instalación y Uso

1. Clonar el repositorio

git clone https://github.com/EXTRANFUNEDGAR/serv_prepper.git
cd serv_prepper

2. Crear entorno virtual e instalar dependencias

python -m venv venv
source venv/bin/activate  # En Windows: venv\Scripts\activate
pip install -r requirements.txt

3. Crear los archivos necesarios (si no existen)

Antes de ejecutar por primera vez, crea los siguientes archivos vacíos:

touch inventario.json usuarios.json documentos.json

4. Ejecutar la aplicación

python app.py

Luego accede en tu navegador a:
📡 http://127.0.0.1:5001

📄 Requisitos

  • Python 3.10 o superior
  • Flask
  • reportlab

Instálalos automáticamente con:

pip install -r requirements.txt

🔒 Seguridad

  • Contraseñas cifradas con werkzeug.security
  • Registro y autenticación de usuarios
  • Rutas protegidas con sesión de Flask

📦 Inventario

Los objetos del inventario incluyen:

  • Nombre
  • Cantidad y unidad
  • Categoría y subcategoría
  • Ubicación física
  • Fecha de caducidad
  • Notas
  • Extras personalizables (clave: valor)

Los objetos se agrupan dinámicamente por categoría/subcategoría o por ubicación, y su estado de caducidad se evalúa automáticamente.

🖨️ Exportación a PDF

Desde la vista /inventario/exportar puedes:

  • Seleccionar filtros por categoría, subcategoría y ubicación
  • Generar un PDF con los objetos que cumplan los filtros
  • Ver la fecha de generación
  • Ver conteo total de objetos exportados

👤 Autenticación

  • Registro de usuarios en /registro
  • Inicio de sesión en /login
  • Cierre de sesión en /logout
  • Solo usuarios autenticados pueden acceder al sistema

💡 Tecnologías utilizadas

  • Flask - backend web
  • Jinja2 - plantillas HTML dinámicas
  • ReportLab - generación de PDF
  • HTML/CSS/JS - frontend
  • JSON - base de datos local (sin SQL)

✍️ Autor

Edgar Delgado
Desarrollador full-stack | Entusiasta de la radiofrecuencia, la seguridad y los sistemas offline.

🔗 GitHub: https://github.com/EXTRANFUNEDGAR

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published