Coder Social home page Coder Social logo

iamrodion / mantis Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 5.86 MB

Programa web creado en Python con Flask, para la gestión de pedidos de micro-empresas, desde la recepción hasta la entrega.

Python 27.37% CSS 2.11% HTML 56.10% JavaScript 14.42%
bootstrap5 crud-application flask-web python3 sqlite3

mantis's Introduction

Nada por aqui aún 🌱

mantis's People

Contributors

iamrodion avatar

Stargazers

 avatar

Watchers

 avatar

mantis's Issues

Añadir pestaña de producción

Añadir una pestaña que se llame producción, con una plantilla HTML en la que se pueda visualizar los casos pendientes, cambiarles el estado a "En Producción" y "Terminado". Que en esta misma plantilla se pueda visualizar el patrón del pedido.

Crear vistas en la base de datos

Con el fin de optimizar las consultas y los tiempos de respuesta, deberían crearse views en la base de datos que no consulten ciertos datos irrelevantes.
Más sobre el tema aqui,

Añadir sumario de estados en la página principal

Sumario del estado de los pedidos en la página principal, que contenga enlaces para cada estado, y que esos enlaces redirigan a una plantilla que contenga todos los pedidos que se encuentran en ese estado.

Image

Crear página "Acerca de"

Añadir una página de información del proyecto, donde se definan los lenguajes de programación, frameworks, librerías, versiones, fuentes, archivos, y todo lo relacionado al proyecto.

Añadir columna 'prioridad' para los pedidos

Los pedidos deberían tener como característica la prioridad, y para eso es necesario los siguientes cambios:

  • Añadir columna Prioridad a la tabla Pedidos de la base de datos.
  • Añadir columna Prioridad y reordenar las variables en las plantillas HTML que lo requieran.
  • Editar la función crearPedido() del archivo app.py para añadir la columna Prioridad.
  • Añadir columna Prioridad a la función que crea pedidos aleatorios en el archivo datos.py.

Crear página de ayuda

Añadir a la ruta principal una pestaña de ayuda para resolver dudas sobre el funcionamiento del programa

Añadir método para crear facturas

Crear una función que genere facturas de forma automática con los datos del pedido creado, y que las guarde en carpetas ordenadas por año y mes.

Mejorar el archivo datos.py

Mejorar el archivo "datos.py" usando la función "executescript()" para ejecutar las queries del archivo db.sql.

Optimizar el código del app.py

Organizar el código en el archivo app.py para utilizar una sola plantilla para renderizar las tablas de pedidos. Además, mejorar la elección entre redirect() y render_template() para cada caso.

Añadir apagado y encendido del programa

Crear una forma de apagar y encender el programa, para hacerlo sencillo al usuario final.
Entre las opciones para hacerlo están:

  • Crear una ventana con TKinter que muestre sí el programa está en ejecución o no, y permita apagarlo y encenderlo.
  • Crear un botón en la página principal del programa, que permita apagarlo, y para encenderlo simplemente usar un enlace directo a un script.
  • Crear dos enlaces directos a un script para encender y otro para apagar, o puede ser uno solo que apague el programa sí está encendido y lo encienda sí está apagado.

Añadir tabla "Ordenes" a la base de datos

Considerar la opción de añadir una nueva tabla llamada "Ordenes", con llave foránea en la tabla "Pedidos".
La idea de este cambio es manejar las ordenes de forma individual, añadir estados a las ordenes y que el estado del pedido sea "En Producción" hasta que todos los estados de las ordenes sean "Terminado".
Con este cambio además, se estaría cambiando la pestaña producción, la cual ahora debería permitir modificar los estados de las ordenes y no los estados de los pedidos.

Cambiar mensajes

Cambiar el estilo de como se muestran los mensajes, ya que actualmente rompen con el nuevo estilo de la App-Web

Mejorar el archivo datos.py

Mejorar el archivo datos.py usando la función executescript() para ejecutar las queries de db.sql directamente desde python.

Añadir estados a las ordenes

Añadir una columna "Estados" a la tabla "Ordenes", para tener el "estado" de cada "orden" individualmente.
El "estado" de los "pedidos" ahora debería ser:

  • "Pendiente": sí ninguna orden del pedido está "En Producción".
  • "En Producción" sí alguna orden está "En Producción".
  • "Terminado" sí todas las ordenes están en "Terminado".

Por último, desde la pestaña "Recepción" se podrá cambiar el estado del Pedido a "Entregado" con un botón, lo cual cambiará inmediatamente el estado de las ordenes a "Entregado" también.

Añadir redirecciones a rutas no existentes

Al intentar acceder a una ruta cuyo pedido no existe, se ve el siguiente error:
Image

Y se ve esto por consola:
Image

En caso de generar este tipo de error al intentar cargar una ruta cuyo pedido no existe, el usuario debería ser redirigido a la página principal junto con un mensaje "flash()" que contenga el error.

Reparar bug al cargar index.html

Al cargar la página principal se están llamando la cantidad de casos por estado, pero en caso de no tener casos en un estado la plantilla intenta cargar datos no existentes y genera este error:

Image

El error se puede visualizar aqui:
Image

Al momento de usar la función "estados=obtenerEstados()" para enviar los estados no se está enviando datos para los estados que no tienen casos, por lo cual Jinja indica que no tiene más datos.

Intentar resolverlo haciendo que cuando no se encuentran casos en un estado, se devuelva 0.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.