Loading...
Proyectos

Sistema de Gestión de Pedidos 2024

Sistema diseñado para gestionar la venta de productos básicos mediante un flujo claro y ordenado de roles y estados de pedidos. Construido con una arquitectura robusta usando tecnologías modernas en Frontend y Backend, este sistema asegura funcionalidad, seguridad y escalabilidad.

Vista general del sistemaVista general del sistemaVista general del sistema

Flujo de Autenticación

El sistema implementa autenticación segura mediante JWT (JSON Web Tokens), gestionando sesiones y roles de usuario como Encargado, Vendedor y Delivery para acceso diferenciado.

Flujo de autenticaciónFlujo de autenticación

Gestión de Usuarios

El módulo de usuarios permite al Encargado realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) con datos sensibles cifrados. Los usuarios tienen roles específicos y su estado puede ser Activado o Desactivado.

Gestión de usuarios

Gestión de Productos

Los productos son administrados por el Encargado, con búsqueda dinámica y filtros por SKU y nombre utilizando técnicas de AJAX para mejorar la experiencia del usuario.

Gestión de productos

Gestión de Pedidos

El sistema permite registrar pedidos, asignar roles (Vendedor, Delivery) y cambiar el estado de los pedidos según el flujo definido: Por atender, En proceso, Entregado. Cada rol tiene acceso limitado a las funciones disponibles según su perfil.

Gestión de pedidosGestión de pedidos

Seguridad Avanzada

Se implementaron medidas de seguridad como:

  • Cifrado de datos sensibles (Ejemplo: Nombre de usuarios).
  • URLs seguras para evitar exposición de datos en enlaces.
  • Ofuscación de código JavaScript para dificultar inspección.
  • Las claves son encriptadas con el algoritmo no reversible SHA-256.

Medidas de seguridadMedidas de seguridad public static string HashPassword(string str) { SHA256 sha256 = SHA256Managed.Create(); ASCIIEncoding encoding = new ASCIIEncoding(); byte[] stream = null; StringBuilder sb = new StringBuilder(); stream = sha256.ComputeHash(encoding.GetBytes(str)); for (int i = 0; i < stream.Length; i++) sb.AppendFormat("{0:x2}", stream[i]); return sb.ToString(); }

Conclusión

Este proyecto demuestra habilidades avanzadas en el desarrollo de software, utilizando tecnologías modernas y aplicando las mejores prácticas de arquitectura y seguridad. Su diseño modular lo hace escalable y adaptable para negocios con necesidades similares.

© 2024 Paul Aranda. All Rights Reserved.