An open API service indexing awesome lists of open source software.

https://github.com/bnphony/sistema-inventario

Ejercicio sobre un Sistema de Inventarios y generación de reportes
https://github.com/bnphony/sistema-inventario

aplicacion-web django html-css-javascript python reportes sistema-inventario

Last synced: 2 months ago
JSON representation

Ejercicio sobre un Sistema de Inventarios y generación de reportes

Awesome Lists containing this project

README

        



# Sistema de Inventario


Main Screen




![GitHub](https://img.shields.io/github/last-commit/bnphony/Sistema-Inventario)
[![Django](https://img.shields.io/badge/Framework-Django-green)](https://www.djangoproject.com/)
[![Python](https://img.shields.io/badge/Code-Python-fd81f)](https://www.python.org/)
[![DataTables](https://img.shields.io/badge/Tables-DataTables-397ed3)](https://datatables.net/)
[![Bootstrap 5](https://img.shields.io/badge/Framework-Bootstrap%205-7952b3)](https://getbootstrap.com/docs/5.0/getting-started/introduction/)
[![PostgreSQL](https://img.shields.io/badge/DB-PostgreSQL-6598c3)](https://www.postgresql.org/)
[![JavaScript](https://img.shields.io/badge/Code-JavaSript-orange)](https://developer.mozilla.org/es/docs/Web/JavaScript)
[![JQuery](https://img.shields.io/badge/Code-JQuery-0769ad)](https://jquery.com/)

## Indice

- [Sistema de Inventario](#sistema-de-inventario)
- [Descripción](#descripción)
- [Tecnologías](#tecnologías)
- [Dominio](#dominio)
- [Usuario](#usuario)
- [Categoría](#categoría)
- [Producto](#producto)
- [Cliente](#cliente)
- [Venta](#venta)
- [Descripción de la Venta](#descripción-de-la-venta)
- [Funciones](#funciones)
- [Autor](#autor)
- [Contacto](#contacto)
- [Licencia de Uso](#licencia-de-uso)

## Descripción
Sistema de Inventarios y generación de reportes, utilizando DJANGO 3.0. Funciones Principales:
- Gestionar Usuarios.
- Gestionar Categorías.
- Gestionar Productos.
- Gestionar Clientes.
- Gestionar Ventas.
- Generar reportes de ventas.
- Exportar en formato Excel y PDF los reportes de ventas.
- Visualizar el porcentaje de ventas utilizando gráficos de barras y de sectores (pastel).


### Tecnologías

- Lenguaje del lado del Servidor: [Python](https://www.python.org/) - Interactuar con la base de datos, gestionar las peticiones del usuario.
- Web Framework: [Django](https://www.djangoproject.com/) - Facilitar el desarrollo web.
- Interacción con la Interfaz: [Java](https://www.java.com/es/) y [JQuery](https://jquery.com/) - Agregar comportamiento a los componentes de la UI.
- Cuadros de Confirmación: [jquery-confirm](https://craftpip.github.io/jquery-confirm/) - Cuadros de dialogos animados para confirmar procesos.
- Iconos: [Font Awesome](https://fontawesome.com/) - Mejorar la experiencia de usuario.
- Dashboard: [AdminLTE](https://adminlte.io/) - Plantilla para el Panel de Administración.
- Tablas de Información: [DataTables](https://datatables.net/) - Facilita la presentación e interación con la información, utilizando tablas responsivas.
- Selección de Fechas: [DateRangePicker](https://www.daterangepicker.com/) - Mejorar la experiencia del usuario al ingresar fechas en los formularios.
- Framework de Diseño: [Bootstrap 5](https://getbootstrap.com/docs/5.0/getting-started/introduction/) - Facilitar una interfaz agradable y responsiva.
- Caja de Selección: [Select2](https://select2.org/) - Facilitar la presentación de información en las cajas de selección.

## Dominio

Gestionar usuarios, categorías, productos, clientes, ventas, generar reportes.
- Solo un usuario con privilegios de administrador puede crear nuevos usuarios, desde dentro del sistema.
- Los usuarios pueden iniciar sesión, restablecer su contraseña, editar su perfil.
- Un usuario puede crear, actualizar, listar, eliminar categorías.
- Un usuario puede crear, actualizar, listar, eliminar productos, cada productos pertenece a una categoría.
- Un usuario puede crear, actualizar, listar, eliminar clientes.
- Un usuario puede crear, actualizar, listar, eliminar, imprimir en pdf las ventas.
- Cada venta contiene información sobre los productos vendidos y sobre el cliente que compra dichos productos.
- Un usuario puede generar reportes de las ventas acorde a un rango de fechas y exportarlos en formato excel o pdf.

### Usuario

| Campo | Tipo | Descripción |
|------------|---------|-----------------------------|
| id | UUID | Identificar único |
| image | Varchar | Imagen del Usuario |
| token | UUID | Token de Acceso del Usuario |
| username | Varchar | Nombre de Usuario |
| first_name | Varchar | Primer Nombre del Usuario |
| last_name | Varchar | Apellido del Usuario |
| email | Varchar | Email del Usuario |
| password | Varchar | Contraseña del Usuario |

### Categoría

| Campo | Tipo | Descripción |
|---------------|---------|-----------------------------|
| id | UUID | Identificar único |
| nombre | Varchar | Nombre de la Categoría |
| desc | Varchar | Descripción de la Categoría |
| user_creation | Usuario | Usuario de la Categoría |

### Producto

| Campo | Tipo | Descripción |
|--------|-----------|------------------------|
| id | UUID | Identificar único |
| nombre | Varchar | Nombre del Producto |
| image | Varchar | Imagen del Producto |
| stock | Integer | Cantidad del Producto |
| pvp | Decimal | Precio del Producto |
| cat | Categoría | Categoría del Producto |

### Cliente

| Campo | Tipo | Descripción |
|---------------|----------|---------------------------------|
| id | UUID | Identificar único |
| nombres | Varchar | Nombres del Cliente |
| apellidos | Varchar | Apellidos del Cliente |
| dni | Varchar | Cédula del Cliente |
| date_birthday | DateTime | Fecha de Nacimiento del Cliente |
| address | Varchar | Dirección del Cliente |
| gender | Varchar | Género del Cliente |

### Venta

| Campo | Tipo | Descripción |
|-------------|----------|------------------------------|
| id | UUID | Identificar único |
| date_joined | DateTime | Fecha de Creación |
| subtotal | Decimal | Precio Sub-total de la Venta |
| iva | Decimal | IVA de la Venta |
| total | Decimal | Precio Total de la Venta |
| cli | Cliente | Cliente de la Venta |

### Descripción de la Venta

| Campo | Tipo | Descripción |
|----------|----------|-------------------------------------------------|
| id | UUID | Identificar único |
| price | Decimal | Precio del Producto |
| cant | Integer | Cantidad a vender |
| subtotal | Decimal | Precio Sub-total de la venta de este producto/s |
| sale | Venta | Venta de la Descripción de la Venta |
| prod | Producto | Producto de la Descripción de la Venta |

## Funciones




Iniciar Sesión



Login


- Un Usuario puede iniciar sesión con su nombre de usuario y contraseña.





Restablecer Contraseña



Reset Password


- Un Usuario puede cambiar su contraseña utilizando su nombre nombre de usuario, con esto se le envía un link a su email con el procedimiento correspondiente.







Gestionar Categorías



Categories


- Crear, actualizar, listar, eliminar categorías.








Gestionar Productos



Products


- Crear, actualizar, listar, eliminar productos.








Gestionar Clientes



Clients


- Crear, actualizar, listar, eliminar clientes.








Gestionar Ventas



Sales


- Crear, actualizar, listar, eliminar ventas.




Sales


- Descripción de la venta: productos vendidos, cliente, fecha de la venta, subtotal, IVA y precio total.








Generación de Reportes de Ventas



Date Range
Report


- El usuario puede escoger el rango de fecha de los reportes.
- Opciones para descargar el reporte en formato excel o pdf.








Gestionar Usuarios



Users


- Crear, actualizar, listar, eliminar usuarios.

- Solo los usuarios de tipo administrador pueden acceder a esta opción.





## Autor
Codificado por [Bryan Jhoel Tarco Taipe](https://github.com/bnphony), basado en el tutorial [Curso de Django3](https://youtu.be/XclfcvFjN48?si=cKXKIUnwvoaoEQpc) por [William Jair Dávila Vargas](https://algorisoft.com/)

### Contacto

LinkedIn


GitHub


Email

## Licencia de Uso
Este repositorio y todo su contenido está licenciado bajo licencia **Creative Commons**. Por favor si compartes, usas o modificas este proyecto cita a sus
autores, y usa las mismas condiciones para su uso docente, formativo o educativo y no comercial.