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:
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)
Posteriormente haga clic derecho y luego haga clic en la opción Configurar referencia del servicio
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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
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.
o Registro, consulta y gestiones de usuarioso 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)
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
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)
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)
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
- 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:.
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.
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)@
- Inicio tienda en línea (No inicio de sesión)
- Iniciar sesión
- Inicio tienda en línea (Usuario ha iniciado sesión)
- Detalles de productos
- Producto sin stock (compra del mismo inhabilitado)
- Vista de productos por categorías
- Buscador de productos (según palabra coincidente)
-
Carrito de compras vacío
- Carrito de compras con productos registrados
- Confirmación producto agregado carrito de compras
- Error agregar productos carrito de compras (Producto duplicado)
- Proceso de compra
- Compra fallida
- Mis compras procesadas
- Reportar problemas compras
- Mi perfil (Clientes)
- F.A.Q Clientes
- Inicio administradores
- Inicio Presidencia
- Inicio Gerencia
- Inicio Atención al Cliente
- Garantías de Productos
- Productos
- Productos sin stock
- Pedidos clientes (Compras procesadas)
- Consulta general de ventas procesadas
- Consulta especifica de detalles de productos ventas procesadas
- Problemas ventas
- Perfil de usuarios administrativos
- 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.