Es un sistema erp pero sin cuentas contables, primero hay que estructurar la base de datos y asi ir creando despues paso a paso cada uno de los módulos. Este archivo se puede ir modificando tanto por mi como por ti a medida que se avance con el proyecto SEGURIDAD Aplica todas las medidas de seguridad en el proyecto como por ejemplo, validaciones que se deban hacer del lado del servidor, no dejar expuestas claves, crear restricciones del navegador con respecto acceso a archivos con datos sensibles, entre otras medidas. DISEÑO Y LENGUAJE Es un sistema diseñado con php aplicando bien la lógica de html y css, de modo que los css estén separados de los htmls y no juntos, asi mismo aplicar la estructura de html semántico. Con respecto al aspescto visual aun no lo defino pero te pido coherencia con las distancias en pixeles y botones. Va a tener una navbar contraible y que al pasar el mouse se expanda. Asi mismo tiene que ser compatible para versión de teléfonos. Si puedes inspirarte en one ui 9 de samsung con respecto a las sobras y ciertos elementos flotantes, con respecto a als esquinas de tarjetas usa un redondeado de 10px para que no se vea demasiado redondo. Usa una tonalidad celeste pero que visualmente se vea bien, aplica bonito esa paleta de colores para que se vea ien los colores de acento, difuminados, fondos, etc. Las tablas que no sean demasiadas compactas ni demasiadas amplias. Los encabezados que se pueda ver el etxto y debe estar en negrita y que se distinga que es el encabezado. Los íconos que tu mismo los crees con svg y que puedan ser reutilizables en todo el proyecto. El tipo de letra que sea un tipo que se pueda leer uniforme y bonito. Usa animaciones fluidas y sencillas por ejemplo para animar los botones cuando se pasa el puntero sobre ellos. Los formularios para ingreso de datos que sean en modals por defecto a menos que se pida lo contrario, que se vea consistente y compatibles con la versión de teléfono. Las columnas de acciones en la stablas siempre van a estar alineadas al borde a la derecha. MODULOS - Principal - Pedidos - Ventas - Gastos - Inventario - Cartera - Personas - Usuarios - Desarrollador MODULO USUARIOS Este módulo va a contener el listado de usuarios que tienen acceso al sistema, los datos de cada ususario seria - Nombre - Usuario - Contraseña - Rol - ID Vendedor (solo sale cuando el rol es vendedor y se pone de forma automatica de 1 en 1, no va a ser visible en la tabla del listado de usuarios) - Estado La contraseña debe ser por seguridad al guardarse en tipo hash El rol define el acceso a los diferentes módulos. Se podrá crear, editar, invactivar ususarios. Roles: Vendedor(Solo Acceso a Pedidos), Administrador(Acceso a todo mos modulos menos al de desarrollador), Desarrollador(Acceso a absolutamente todo) MODULO PEDIDOS Este módulo en realidad es de cotizaciones pero lo llamaremos pedidos, los usuarios de tipo vendedor solo tendrán acceso a este único módulo, de modo que la navbar no debería de verse en ellos ya que solo tendrán este módulo. Aquí va a estar el listado de pedidos ordenados por fecha con el más reciente primero, se va a poder crear, editar o eliminar pedidos, este formulario de creacion y edicion de pedidos no va a ser en un modal sino de tamaño completo. La tabla del listado de pedidos va a tener las siguientes columnas: - Fecha - Código - Cliente - Valor - Saldo - Estado - Columna de acciones editar y eliiminar En la parte superior va a tener acciones de filtro: - Desde - Hasta - Cliente (Desplegable normal, pero con el adicional que mientras se escribe se va filtrando el desplegable) - Estado (Desplegable normal) - Botones de filtrar y Crear La pestaña de crear un pedido va a tener digamos que 3 secciones pero no les vallas a poner el titulo en cada sección: - Datos cliente -- Aqui me va a pedir una fecha, por defecto se ponga la fecha del día en se está haciendo el pedido; el cliente en un despegle normal pero escribible, digamos que uses el mismo del filtro de la pagina principal de pedidos; la forma de pago así mismo en un desplegable normal. -- En el caso de que sea un nuevo cliente ahí a ladito del desplegabla va a haber un icono de + que siginifique crear cliente y lance un modal para crear cliente, los datos que va a pedir son: --- Identificación (Cédula, RUC, Sin Identificación) --- No de Identificación (De tipo texto para evitar que se pierda el 0 inicial en caso de que tenga 0 inicial, pero que el campo no permita escribir letras) --- Apellidos y Nombres --- Teéfono (Asi mismo tipo texto para evitar que se pierda el 0 inicial) --- Correo --- Dirección (Es un campo opcional) - Productos -- Aqui va a salir una tabla que permita ir añadiendo filas según los productos, cada fila va a tener las siguientes columnas: --- Producto (un desplegable normal pero escribible como el de clientes) --- Cantidad (campo numérico) --- Precio(un desplegable de los precios pero que se pueda editar por un valor diferente al que sale en el listado) --- Subtotal (se calcula automático cantidad por precio) --- Tipo IVA (Según el producto guardado se pone automático) --- IVA (Se calcula de forma automática subtotal por tipo iva) --- Columna con una acción de elimnar fila, sin confirmacion solo elimna directo la fila. - Datos de pago -- Aquí va a tener digamos en 2 columnas distribuido --- Un campo de Descripción que va a ser opcional, es un campo de texto un poco mas grande ya que se puede poner bastante texto, este campo va a estar alineado a la izquierda. --- Resumen de valores, va a estar alineado a la derecha y va a tener varias filas: Subtotal (suma de subtotales), IVA (suma de IVA), A Pagar (suma de subototal mas iva) Al final va a tener un botón de guardar que mientras no estén todos los campos obligatorios llenos no se va a poder accionar, y mientras no haya al menos un producto con la cantidad y el precio no se va a poder accionar. Cuando se lo de en guardar se va a guardar como tal y me debe regresar a la pagina del listado de pedidos. El código del pedido va a ser un código estándar de la siguiente forma: PED, año 4 digitos, mes 2 digitos, secuencia 6 dígitos, ejemplo: PED202611000005 Cada pedido internamente también se guardaria con el id del vendedor, esto porque los usuarios de tipo Adminsitrador y Desarrollados tendrán un campo de filtro adicional que es Vendedor y se peuda en un desplegable elegir el vendedor y solo salgan los pedidos de ese vendedor, asi mismo en la tabla del listado de pedidos a ellos les aparecería una columna adicional a lado de fecha que diga Vendedor y salga el nombre del vendedor El boton de editar de cada fila que acciona el fomrulario de editar creeria que reutilizaria lo mismo de crear pedido pero que no permita editar la fecha. Cada fila del listado de pedidos también va a tener un botón de acción de Ver que me lanzará en un modal toda la información del pedido que sale al crear, pero solo para ver en un modal. Ese modal va a tener un botón para ver en pdf que genere un pdf en otra pestaña con el visor de pdf del navegador y ahí poder decidir si imprimirlo o descargarlo