Skip to content

Plataforma web full stack desarrollada con Python (FastAPI) y TypeScript (Vite) para la gestión de clientes, productos y cotizaciones por usuario. Cada cuenta puede administrar su propia información y generar cotizaciones personalizadas.

Notifications You must be signed in to change notification settings

Juserdev/simple-quoting-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Sistema de Cotizaciones Simple

Este proyecto es una solución completa que permite a pequeñas y medianas empresas gestionar cotizaciones de productos para sus clientes. El sistema cuenta con un backend robusto desarrollado en FastAPI y una base de datos MongoDB, además de una futura integración con un frontend que ofrecerá una interfaz gráfica amigable.


¿Para qué sirve este proyecto?

El sistema permite que cada usuario cree y gestione su propio entorno de trabajo, manteniendo la información completamente aislada por autenticación. El objetivo principal es simplificar el proceso de cotización, permitiendo llevar un control centralizado de:

  • Clientes registrados
  • Productos y sus precios
  • Cotizaciones generadas con impuestos y totales
  • Historial de cotizaciones inmutable

Es ideal para empresas que requieren una solución ligera y rápida para gestionar sus cotizaciones sin depender de sistemas complejos o de terceros.


Características principales

  • Registro e inicio de sesión con autenticación JWT
  • Gestión completa de usuarios (con campos personalizados como nombre de empresa, logo, teléfono)
  • CRUD de clientes y productos
  • CRUD completo de cotizaciones (crear, listar, actualizar, eliminar)
  • Cada cotización conserva el valor original del producto al momento de su creación
  • Generación automática de totales con impuestos
  • Asociación estricta por usuario: cada entidad está ligada al usuario autenticado
  • Dashboard sencillo para mostrar conteo de clientes, productos y cotizaciones

Tecnologías utilizadas

  • FastAPI: API web moderna y eficiente en Python.
  • MongoDB: Base de datos NoSQL escalable.
  • PyMongo: Cliente para MongoDB.
  • JWT: Seguridad mediante tokens.

Estructura del proyecto

root/
├── backend/
│   └── app/
│       ├── main.py
│       ├── routers/
│       ├── utils/
│       ├── auth/
│       └── database/
├── frontend/ (en desarrollo)
└── README.md

Funcionamiento general

El backend expone múltiples endpoints RESTful organizados en rutas como /signup, /login, /clients, /products, y /quotations. A través de estos endpoints, los usuarios pueden registrar su cuenta, autenticarse, gestionar sus clientes y productos, y generar cotizaciones.

La autenticación se realiza con tokens JWT y protege todos los recursos, asegurando que cada usuario solo acceda a su propia información.

Cuando se crea una cotización, se asocia con el cliente y productos seleccionados, guardando los precios al momento. Esto garantiza que incluso si un producto cambia de valor posteriormente, las cotizaciones antiguas permanecen fieles a su contexto original.


Beneficios

  • Control total de cotizaciones sin depender de hojas de cálculo o software externo
  • Simplicidad de uso y despliegue rápido
  • Aislamiento por usuario con autenticación JWT segura
  • Flexible y extensible, ideal para agregar más módulos en el futuro (como facturación, inventario, etc.)
  • Preparado para integración con un frontend moderno

Próximos pasos

  • Desarrollo del frontend en React u otra tecnología moderna
  • Generación de PDF para cotizaciones
  • Posibilidad de enviar cotizaciones por correo desde la aplicación
  • Estadísticas visuales en el dashboard

Estado del proyecto

Actualmente el backend está completamente funcional y listo para ser integrado con una interfaz de usuario. La estructura está diseñada para ser extensible y mantenible.


Documentación adicional

Puedes encontrar la documentación específica del backend en el archivo backend/README.md.

About

Plataforma web full stack desarrollada con Python (FastAPI) y TypeScript (Vite) para la gestión de clientes, productos y cotizaciones por usuario. Cada cuenta puede administrar su propia información y generar cotizaciones personalizadas.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published