El sistema Inventario-py permite al personal del supermercado gestionar el inventario de productos de forma sencilla. Está dividido en dos partes:

  • Backend: API REST desarrollada con Flask y almacenamiento en inventario.json.
  • Frontend: Interfaz web desarrollada con Django, que consume la API Flask.

Inventario en Python con Flask y Django

  1. Introducción
  2. Requisitos Previos
  3. Instalación y Configuración
  4. Backend (API Flask)
  5. Frontend (Django)
  6. Pruebas con Postman
  7. Solución de problemas frecuentes
  8. Recomendaciones para capturas de pantalla
  9. Preguntas frecuentes
  10. Contacto y soporte

Introducción

El sistema Inventario-py permite al personal del supermercado gestionar el inventario de productos de forma sencilla. Está dividido en dos partes:

  • Backend: API REST desarrollada con Flask y almacenamiento en inventario.json.
  • Frontend: Interfaz web desarrollada con Django, que consume la API Flask.

Requisitos Previos

  • Python 3.8 o superior instalado.
  • Git instalado (opcional pero recomendado).
  • Acceso a una terminal/command prompt.
  • Navegador web (Chrome, Firefox, Edge, etc.).
  • Postman (opcional, para pruebas manuales de la API).

Instalación y Configuración

1. Clonar el repositorio

1
2
git clone https://github.com/MynorCifuentes/Inventario-py.git
cd Inventario-py

2. Crear y activar entorno virtual (venv)

Windows:

1
2
python -m venv .venv
.\.venv\Scripts\activate

Linux/Mac:

1
2
python3 -m venv .venv
source .venv/bin/activate

alt text

3. Instalar dependencias

Instala los paquetes necesarios para backend y frontend:

1
pip install flask django requests

alt text

4. Estructura de carpetas

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Inventario-py/
├── backend/
│ ├── src/
│ │ ├── app.py
│ │ ├── routes/
│ │ │ └── productos.py
│ │ ├── models/
│ │ │ └── producto.py
│ │ ├── services/
│ │ │ └── inventario_service.py
│ │ └── utils/
│ │ └── helpers.py
│ └── database/
│ └── inventario.json
├── frontend/
│ └── inventario_py/
│ ├── manage.py
│ ├── inventario/
│ │ ├── views.py
│ │ ├── forms.py
│ │ ├── urls.py
│ │ └── templates/
│ │ ├── base.html
│ │ └── inventario/
│ │ ├── lista_productos.html
│ │ ├── form_producto.html
│ │ ├── confirmar_eliminar.html
│ │ └── detalle_producto.html

Backend (API Flask)

1. Cómo iniciar el backend

Desde la carpeta backend/src ejecuta:

1
python app.py

La terminal debe mostrar:

1
* Running on http://localhost:5000/

alt text

2. Endpoints y operaciones

Método Endpoint Descripción Ejemplo
GET /api/productos/ Listar todos los productos /api/productos/
POST /api/productos/ Crear un nuevo producto /api/productos/
GET /api/productos/ Ver un producto específico /api/productos/1
PUT /api/productos/ Actualizar un producto /api/productos/1
DELETE /api/productos/ Eliminar un producto /api/productos/1

alt text

3. Archivo de datos: inventario.json

  • Se encuentra en backend/database/inventario.json.
  • Se actualiza automáticamente cuando creas, editas o eliminas productos.

Frontend (Django)

1. Cómo iniciar el frontend

Desde la carpeta frontend/inventario_py ejecuta:

1
python manage.py runserver

Te mostrará:

1
Starting development server at http://127.0.0.1:8000/

alt text

2. Navegación por la interfaz

  • Lista de productos: Página principal, muestra todos los productos.
  • Crear producto: Botón “Nuevo producto”.
  • Detalle: Haz clic en el nombre de un producto.
  • Editar: Botón “Editar” en la lista o detalle.
  • Eliminar: Botón “Eliminar” (con confirmación).

alt text

3. Operaciones principales

Todas las acciones en la interfaz web usan la API Flask en segundo plano. Los cambios se reflejan en tiempo real en la lista de productos y en el archivo JSON del backend.


Pruebas con Postman

Postman permite probar la API Flask de forma manual.
Pasos básicos:

  1. Abre Postman y crea una nueva petición.
  2. Usa la URL correspondiente (ejemplo: http://localhost:5000/api/productos/).
  3. Selecciona el método (GET, POST, PUT, DELETE).
  4. Para POST/PUT, elige “Body” → “raw” → “JSON” y agrega el JSON del producto.
  5. Haz clic en “Send” y observa la respuesta.

Solución de problemas frecuentes

  • No se guardan los productos:
    • Revisa que el backend Flask esté corriendo y la ruta del archivo inventario.json sea correcta.
    • Verifica que el frontend usa la URL /api/productos/.
  • Error de conexión:
    • Verifica que ambos servidores (backend y frontend) estén activos.
    • Revisa la URL configurada en Django (views.py).
  • Error de permisos:
    • Asegúrate que el archivo inventario.json tiene permisos de escritura.

Recomendaciones para capturas de pantalla

  • Terminal mostrando entorno virtual activo.
  • Instalación de dependencias completa.
  • Explorador de archivos con la estructura del proyecto.
  • Servidor Flask y Django corriendo.
  • Navegador mostrando las diferentes páginas del frontend.
  • Postman con ejemplos de petición a la API.
  • Mensajes de error en caso de pruebas negativas (opcional).

Preguntas frecuentes

¿Qué versión de Python debo usar?
Recomendado Python 3.8 o superior.

¿Cómo reinicio el sistema si se bloquea?
Detén ambos servidores (Ctrl+C en la terminal) y vuelve a ejecutarlos.

¿Puedo usar una base de datos en vez de JSON?
Sí, el sistema se puede adaptar para usar SQLite, PostgreSQL u otra base de datos.

¿Qué hago si no tengo Postman?
Puedes usar curl en la terminal para probar la API.


Contacto y soporte