Skip to content

Latest commit

 

History

History
544 lines (262 loc) · 26.7 KB

README.md

File metadata and controls

544 lines (262 loc) · 26.7 KB

Tienda en Línea + Panel Administrativo - Arquitectos Almacenes

ezgif-5-ed6a6a2e5d

Configuración Inicial

Estimado(a) visitante, reciba una cordial bienvenida a este repositorio. Antes de iniciar y ejecutar este sistema en su servidor, debe realizar algunas configuraciones correspondientes para el óptimo funcionamiento del mismo, las cuales son las siguientes:

* Ajustes Webservice (WCF SOAP)

Parte de los procesos, se han realizado desde un webservice, es por ello que usted debe configurar el llamado de este servicio antes de iniciar esta aplicación.

Por favor diríjase al explorador de la solución y ubique el siguiente apartado (marcado en color rosa y amarillo)

wcf1

Posteriormente haga clic derecho y luego haga clic en la opción Configurar referencia del servicio

wcf2

En el apartado Direccion: usted debe copiar la URL que ha sido generada al ejecutar el respectivo webservice. Sí usted decide ejecutarlo en un hosting. En su lugar debe hacer referencia a la dirección del hosting en cuestión, con el respectivo archivo .asmx en ejecución.

wfc3

Y para finalizar, y que todos los cambios anteriores tengan efecto, haga clic nuevamente en la referencia del servicio (Ver Figura 1 - Configuración Inicial WCF) y luego haga clic en Actualizar referencia del servicio. De esta manera el respectivo webservice está listo y preparado para comunicarse con la aplicación.

¿Qué sucede si se ha configurado mal? Simplemente algunos servicios no podrán ejecutarse, visualize el inicio de sesión e ingrese cualquier credencial. Si obtiene un mensaje de error como la figura, entiendase que el webservice aún no se ha comunicado exitosamente con la aplicación. Lea detenidamente los detalles anteriores y vuelva a intentarlo.

wcf4

* Cambio URL servidor (Web.config)

Por favor realice el cambio de la URL a la de su servidor, caso contrario los estilos y demás referencias de la aplicación no funcionaran. Misma situación lamentamos informarle que la aplicación no se ejecutará de la manera correcta.

carbon

* Archivo de conexión (Web.config)

Usted debe de realizar los correspondientes cambios a la cadena de conexión, dicho archivo se llama Web.config en dónde Data Source= es el nombre de su servidor, Initial Catalog= el nombre de la base de datos, User ID=;Password= nombre de usuario y contraseña de acceso de su usuario configurado en su SGBD SQL SERVER. Único punto en dónde usted deberá conectar la base de datos a esta aplicación. NO se utilizan más cadenas de conexiones.

carbon

* Conectividad API Pasarela de Pagos PayPal (Web.config)

Dentro del mismo archivo Web.config, usted encontrará la configuración general de la conexión hacia la API de PayPal. Para ello usted debe crear una cuenta en PayPal Developer ( https://developer.paypal.com ) y configurar su cuenta personal para utilizar el entorno de pruebas PayPal SandBox (Para mayor información específica de la creación de su cuenta, configuración y demás gestiones relacionadas, por favor visite la documentación oficial de PayPal Developer).

Una vez configurada su cuenta, usted debe ubicar los siguientes bloques de código, y sustituir por toda la información que la plataforma antes mencionada le solicita. Dónde ClientId= es su usuario encriptado generado por la plataforma y Secret= su contraseña de acceso generada por la plataforma. Por favor NO tocar UrlPaypal esa es la URL de comunicación con la API de los servicios de PayPal.

carbon (1)

* URL Redireccionamiento Pagos Procesados / Fallidos - PayPal ( Controllers/HomeController.cs )

Por favor ubique el siguiente metodo public async Task ProcesarPago(List oListaCarrito, Venta oVenta) Dentro de la carpeta Controllers - Archivo llamado HomeController.cs Usted debe sustituir únicamente el https inicial el cuál corresponde a su servidor. Todo lo demás por favor NO MODIFICAR Caso contrario, si modifica de manera incorrecta, o bien no realiza el ajuste pertinente, obtendrá un error 404 al momento de finalizar la compra.

carbon (2)

* Ajustes SMTP .NET - Envío de Correos Automáticos ( CapaNegocio/CN_Recursos.cs )

Usted debe de configurar el SMTP que funciona únicamente para enviar correos automáticos al momento de reestablecer su contraseña si cualquier usuario pierde el acceso a la plataforma. Por favor tome nota de la imagen citada abajo y realizar los respectivos cambios que los comentarios hacen mención. Únicamente necesita configurar ya sea su correo personal como receptor de envío de correos automáticos para aplicaciones, o bien un correo institucional real dentro de un servicio de hosting.

carbon (4)

Y de esta manera hemos concluído con éxito toda la configuración necesaria para que este sistema funcione perfectamente en su servidor. Sí tiene problemas, por favor haga uso del Pull & Request o bien siga los pasos antes mencionados nuevamente.

* Ajustes API Climatológica

Se ha tomado a bien el compartir la respectiva API KEY de los servicios metereológicos de OpenWeather. Sí usted decide cambiar ubicación, o bien integrar una API de mejores prestaciones, debe leer la documentación oficial de OpenWeather para realizar dicho proceso. Por favor tome nota que dicha API se ha personalizado, es decir, no se utilizan las respectivas imagenes por defecto que la misma provee. Usted es libre de adecuarlo según sus necesidades. Además de estar válidado según el horario de la zona en que se ejecute esta aplicación.

carbon (5)

Información General:

Siguiendo todos los pasos anteriores, enhorabuena ʕ•́ᴥ•̀ʔっ usted ya tiene todo listo para ejecutar este proyecto en su servidor. A continuación se detallarán aspectos técnicos de esta aplicación.

Datos generales de la empresa:

Arquitectos Almacenes S.A de C.V es el nombre de la empresa que desean implementar una tienda en línea para la venta de sus diferentes productos al público en general. Entre algunos de sus productos más destacados por categoría se encuentran: joyería, relojería, calzado, tecnología, línea blanca, electrodomésticos, belleza y juguetes. En la actualidad, sus ventas se limitan a ofrecer sus productos en volantes físicos a personas en la calle, redes sociales y afiches publicitarios en algunos periódicos de mayor circulación en el país. No cuentan con un sistema y página de ventas que les permita darse a conocer con la facilidad de tan solo un clic, menos la posibilidad de que sus clientes puedan comprar sus productos sin la necesidad de desplazarse a la tienda física. Es por ello que se ha abordado su problemática y se ha planteado la creación de un sitio web público, en dónde los clientes pueden visitar y ver cada uno de sus productos sin la necesidad de registrarse. Ahora bien, para añadir productos al carrito de compras y finalmente comprar los mismos, si necesitarían registrarse dentro de la plataforma, con cada uno de los datos personales de interés de cada uno de los clientes. En el área administrativa se tendrá todo el apartado lógico de la empresa, dónde usuarios según el rol asignado, podrán gestionar diversas tareas, por mencionar algunas como registrar productos, ver el detalle de ventas, ver los nuevos pedidos, ver el estatus de ciertos productos que poseen garantía que hayan sido vendidos. Será un proyecto sumamente completo, en dónde las necesidades de esta empresa, se solventarán dando un plus hacia la competencia y poder vender sus productos de manera fácil, rápida y segura.

Detalles técnicos:

En base a la breve historia, Arquitectos Almacenes es una tienda en línea dónde cada uno de sus clientes, pueden realizar compras de los productos que la empresa tiene en existencias al público en general. Dicho sistema se encuentra dividido en cinco roles de usuario los cuales son: Administradores, Presidencia, Gerencia, Atención al Cliente y Clientes. Dónde:

Roles de usuario administrativos:

Desde administradores hasta atención al cliente, son considerados roles de usuarios administrativos, este tipo de rol tiene acceso al panel de administración de la empresa, dónde pueden realizar tareas de mantenimientos específicas según su rol de usuario. Estos roles de usuario únicamente pueden ser registrados con autorización interna de la empresa

Roles de usuario clientes:

La tienda en línea tiene la disponibilidad de ser vista a todo el público, sin necesidad de registrarse. Ahora bien, si un cliente desea agregar productos al carrito de compras, realizar comprar y demás procesos que se le soliciten de un usuario, este debe registrarse en la plataforma. Cualquier persona puede registrarse respetando la condición de que debe poseer un correo y usuario único al momento de darse de alta.

Administradores

o Registro, consulta y gestiones de usuarios
o Registro, consulta y gestiones de roles usuarios
o Registro, consulta y gestiones de categorías de productos
o Registro, consulta y gestiones de marcas de productos
o Registro, consulta y gestiones de garantías de productos
o Registro, consulta y gestiones de problemas de pedidos clientes
o Registro, consulta y gestiones de problemas de plataforma
o Consulta de ventas procesadas (clientes)
o Consulta de vigencia de garantías de productos (ventas procesadas clientes)

menu1

Presidencia

o Consulta de clientes registrados
o Consulta de empleados registrados
o Consulta y gestiones de categorías de productos
o Consulta y gestiones de marcas de productos
o Consulta y gestiones de productos
o Consulta y gestiones de garantías de productos
o Consulta de problemas pedidos clientes
o Registro de problemas plataforma
o Consulta de ventas procesadas (clientes)
o Consulta de vigencia de garantías de productos (ventas procesadas clientes)
o Usuarios autorizados, a través del cliente PayPal, podrán realizar gestiones de pedidos procesados, consulta de saldos y reembolsos

menu2

Gerencia

o Consulta de clientes registrados
o Consulta de empleados registrados
o Consulta de categorías de productos
o Consulta de marcas de productos
o Consulta de productos
o Consulta de problemas pedidos clientes
o Registro de problemas plataforma
o Consulta de ventas procesadas (clientes)
o Consulta de vigencia de garantías de productos (ventas procesadas clientes)

menu3

Atención al cliente

o Consulta de clientes registrados
o Consulta de categorías de productos
o Consulta de marcas de productos
o Consulta de garantías de productos
o Consulta de productos
o Consulta de ventas procesadas (clientes)
o Consulta de vigencia de garantías de productos (ventas procesadas clientes)

menu4

Clientes

o Registro de nuevos clientes
o Consulta de productos registrados, asociados según marcas y categorías de productos
o Registro de productos, a través de un carrito de compras
o Consulta y gestión de carrito de compras, dónde proporcionan datos personales y de envío de productos adquiridos
o Procesar pagos de productos agregados en carrito de compras, a través de la pasarela de pagos PayPal

menu5

  • Todos los roles de usuarios, poseen un perfil de usuario, en el cual podrán modificar ciertos campos de interés personal, siempre respetando que algunos campos únicos, como lo son usuarios únicos, no podrán ser modificados a total discreción en el caso de empleados administrativos y clientes.

Este sistema a nivel de código y base de datos se encuentra distribuido de la siguiente manera:

  • Base de Datos (SQL SERVER):
    • 13 Tablas.
    • 87 Procedimientos Almacenados.
    • 33 Vistas.
    • 1 Objeto SQL (CREATE TYPE).
    • 1 Función.
    • 2 Jobs (Eventos Automáticos).
  • Sistema:
    • Lenguaje de Programación C# (C Sharp) ASP.NET MVC5, Razor.
    • .NET FRAMEWORK 4.8
    • Patrón MVC (Modelo, Vista, Controlador).
    • Gestiones AJAX, JQuery, JSON.
    • Complementos JQuery, Javascript
    • Integración de Dos Plantillas Bootstrap.
    • Pasarela de Pagos API REST PayPal
    • WEBSERVICE SOAP (WCF)
    • Desarrollo basado en capas: Capa de Datos, Capa de Negocio y Capa de Presentación
    • División de cinco roles de usuarios, los cuales son (administradores, presidencia, gerencia, atención al cliente y clientes).

Respecto a los eventos (Jobs), usted debe configurar su llamado desde el SQL SERVER AGENT y hacer referencia a los siguientes procedimientos almacenados:.

carbon (6)

¿Deseas probar la demo en vivo?

Se ha habilitado un espacio dentro de un hosting gratuito para efectuar pruebas de este sistema, por favor tome en cuenta que la velocidad de respuesta así como su ancho de banda y cantidad de usuarios se ve limitada al ser un hosting gratuito. Puede acceder a la demo en el siguiente enlace: https://bsite.net/danr03/ A continación se detallan los datos de acceso para ingresar (puede hacerlo por medio de su usuario único o correo electrónico)

  • Administrador: usuario = karina.coca | correo: correo1@correo.com | clave: Lorem123$
  • Presidencia: usuario = brahim.pino | correo: correo2@correo.com | clave: Lorem123$
  • Gerencia: usuario = yassine.corral | correo: correo3@correo.com | clave: Lorem123$
  • Atención al Cliente: usuario = saida.tapia | correo: correo4@correo.com | clave: Lorem123$
  • Clientes: usuario = mauricio.roca | correo: correo5@correo.com | clave: Lorem123$
  • Para la recepción de correos automáticos, debe establecer su correo real; de lo contrario lamentamos informarle que no podrá visualizar el contenido deseado.
Accesos validados dentro de la plataforma, por favor tome nota de cada uno de los roles de usuario asignados.

¿Datos usuario compra?

Para realizar una compra en la demo en vivo, por favor ingrese las siguientes credenciales en el cliente PayPal:

Usuario: sb-mid1u15170403@personal.example.com

Contraseña: KoA+18)@

Modelo Entidad Relación (m-ER) Base de Datos

MerNuevo

Capturas

  • Inicio tienda en línea (No inicio de sesión)

c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11

  • Iniciar sesión

c12

  • Inicio tienda en línea (Usuario ha iniciado sesión)

c13 c14 c15 c16

  • Detalles de productos

Captura web_11-12-2022_173552_bsite net Captura web_11-12-2022_173628_bsite net Captura web_11-12-2022_173653_bsite net

  • Producto sin stock (compra del mismo inhabilitado)

Captura web_11-12-2022_182314_bsite net

  • Vista de productos por categorías

Captura web_11-12-2022_173856_bsite net Captura web_11-12-2022_174147_bsite net Captura web_11-12-2022_173926_bsite net Captura web_11-12-2022_173939_bsite net Captura web_11-12-2022_173957_bsite net Captura web_11-12-2022_174012_bsite net Captura web_11-12-2022_174022_bsite net Captura web_11-12-2022_174034_bsite net

  • Buscador de productos (según palabra coincidente)

b1

  • Buscador de productos (término de búsqueda: MABE) Captura web_12-12-2022_174036_bsite net

  • Buscador de productos (término de búsqueda: PANTALLA) Captura web_12-12-2022_17413_bsite net

  • Carrito de compras vacío

Captura web_11-12-2022_174331_bsite net

  • Carrito de compras con productos registrados

Captura web_11-12-2022_174640_bsite net

  • Confirmación producto agregado carrito de compras

confirmacioncompra

  • Error agregar productos carrito de compras (Producto duplicado)

errorcompra

  • Proceso de compra

procesocompra

paypal1 paypal2 paypal3 paypal4 paypal5

  • Compra fallida

comprafallida

  • Mis compras procesadas

Captura web_11-12-2022_175356_bsite net

Captura web_11-12-2022_17554_bsite net

  • Reportar problemas compras

Captura web_11-12-2022_17568_bsite net

  • Mi perfil (Clientes)

Captura web_11-12-2022_175742_bsite net

  • F.A.Q Clientes

Captura web_11-12-2022_18018_bsite net

Panel de Administración

  • Inicio administradores

Captura web_11-12-2022_1820_bsite net

  • Inicio Presidencia

Captura web_11-12-2022_18411_bsite net

  • Inicio Gerencia

Captura web_11-12-2022_18441_bsite net

  • Inicio Atención al Cliente

Captura web_11-12-2022_18512_bsite net

  • Garantías de Productos

Captura web_11-12-2022_18710_bsite net

  • Productos

Captura web_11-12-2022_18747_bsite net

  • Productos sin stock

Captura web_11-12-2022_18849_bsite net

  • Pedidos clientes (Compras procesadas)

Captura web_11-12-2022_18945_bsite net

  • Consulta general de ventas procesadas

Captura web_11-12-2022_181026_bsite net

  • Consulta especifica de detalles de productos ventas procesadas

Captura web_11-12-2022_181039_bsite net

  • Problemas ventas

Captura web_11-12-2022_181212_bsite net

  • Perfil de usuarios administrativos

Captura web_11-12-2022_181249_bsite net

Proceso recuperación de cuentas

  • Si un usuario inicia el proceso de recuperación de cuentas, o bien, es nuevo usuario, debe cambiar obligatoriamente la clave generada automáticamente que le ha sido enviada a su correo. Caso contrario todas las funcionalidades del sistema quedan bloqueadas hasta que cumpla con el requisito anterior.

Captura web_11-12-2022_181541_bsite net Captura web_11-12-2022_18174_bsite net recuperacion1 Captura web_11-12-2022_181810_bsite net Captura web_11-12-2022_181829_bsite net Captura web_11-12-2022_181840_bsite net recuperacion2

Muchas gracias por obtener este repositorio hecho con muchas tazas de café ☕ ❤️

CSharp

*** Fecha de Subida: 11 diciembre 2022 ***