suiteecommerce

1.4.0 • Public • Published

Suite Ecommerce (Frontend)

Paquete de npm para uso en proyectos privados de Existaya. El mismo pretende estandarizar la programción asociada a proyetos de e-commerce facilitando módulos/librerías en javascript para su uso en diversos frameworks.

Versionamiento

Este paquete, al ser npm, utiliza un sistema de versión semántica (más información en About Semantic Versioning).

Estado del código Contexto Reglas Ejemplo
Primer lanzamiento Nuevo producto Comienza con 1.0.0 1.0.0
Solución de errores (bugs) con Rétrocompatibilidad Parche Se suma uno (1) al tercer dígito 1.0.1
Nuevos aditamentos con Rétrocompatibilidad Lanzamiento menor Se suma uno (1) al segundo dígito 1.1.0
Cambios no Rétrocompatibles Lanzamiento mayor Se suma uno (1) al primer dígito 2.0.0

Relación entre versión del paquete y versión de Suite Ecommerce (Backend)

Por cada versión del Suite Ecommerce (Backend) se pueden utilizar las siguientes versiones:

Versión Backend Versiones Frontend
1.0.0 1x

Mantenimiento del paquete

Descripción: Suite Ecommerce es un proyecto Javascript/NPM que usa TypeScript (más información relacionada en página oficial de TypeScript) como compilador de Javascript.

Estructura

Fichero Descripción Observaciones
package.json Json usado para configurar el paquete NPM. Se configuran las dependencias entre otras cosas. Importante en este fichero en el poder actualizar la versión del paquete con base en las reglas de versionamiento semántico.
tsconfig.json Json usado para configurar TypeScript y su proceso de compilación.
src/main.ts Fichero TypeScript principal donde comunmente se exportarán los módulos que se requeiran sean públicos para su uso en los proyectos donde se instale el paquete. También sirve para exponer pruebas corriendo el comando npm run tsandplay
src/lib/ Directorio donde vivirán los ficheros con sus respectivos módulos a exportar.

Configuraciones más notables en tscongif.json

Propiedad Descripción Valor

Dependencias del paquete

Dependencia Descripción
typscript Más información en typesscript - npm
@types/node Más información en @types/node - npm
axios Más información en axios - npm
axios-observable Más información en axios-observable - npm
rxjs Más información en rxjs - npm

Comandos disponibles en ./package.json

Comando Descripción Observaciones
npm run tscInit Inicia TypeScript en el proyecto
npm run tsc Corre el proceso de compilación de TypeScript Este compando sólo compila mas no corre el proyecto.
npm run tscAndPlay Corre el proceso de compilación de TypeScript y luego corre el proyecto para validar inputs/outputs Compila y corre el código en el paquete
npm login Inicia una sesión remota con el sistema de NPM para publicación del proyecto Credenciales????
npm publish Publica el paquete en NPM conbase en la versión configurada en el fichero package.json Cada cambio requiere un cambio de versión para su publicación y actualización en NPM

Publicación/Actualización del paquete Pasos para la publicación del paquete y actualización del mismo en NPM:

  1. Correr el comando npm login y seguir los pasos indicados durante el proceso. Este comando es sólo necesario la primera vez que se publique el paquete.
  2. Editar la versión del paquete en el fichero ./package.json siguiendo las indicaciones del sitema versionamiento semántico.
  3. Correr el comando npm publish y esperar el resultado.

Instalación del paquete en proyectos

Instalación

npm i suiteecommerce --save

Actualización

npm update --save

Uso del paquete en proyectos

Configuración/Uso para Angular, Ionic-Angular y proyectos TypeScript En el fichero src/app/app.module.ts importar la siguiente dependencia:

import { Config } from 'suiteecommerce/dist/main';
// Configurar las propiedades necesarias.
Config.urlBase = 'my web service url';

Para usarlo en un componente de Angular o Ionic-Angular se debe importar el módulo deseado. Por ejemplo:

import { Productos, ...otros módulos... } from 'suiteecommerce/dist/main';
...
ngOnInit() {
    Productos.listar().then((res: any) => {}).catch((error: any) => {});
}

Configuración/Uso para jQuery En el ./index.html del proyecto se debe incluir en el header el siguiente script:

<script src="./node_modules/suiteecommerce/dist/main.map.js"></script>

Para usarlo se debe llamar directamente al módulo deseado y su respectivo método. Por ejemplo:

$(document).ready(() => {
    // Configurar las propiedades necesarias.
    Config.urlBase = 'my web service url';
    Productos.listar().then((res: any) => {}).catch((error: any) => {});
});

Configuración/Uso para en Nodejs (backend side) Requerir el paquete de configuración:

var SuiteEcommerceConfig = require('suiteecommerce').Config;
// Configurar las propiedades necesarias.
SuiteEcommerceConfig.urlBase = 'my web service url';

Requerir los modulos necesarios. Por ejemplo:

var SuiteEcommerceProductos = require('suiteecommerce').Productos;
SuiteEcommerceProductos.listar().then((res: any) => {}).catch((error: any) => {});

API

Listado descriptivo de los módulos/objetos (propiedades/métodos) que se manejan en el paquete para uso en los proyectos.

Configuración

Tipo Nombre Descripción
Módulo Config Módulo con el cual se puede configurar el comportamiento de otros módulos.

Objetos/Métodos/Propiedades

Tipo Tipo de campo Nombre Descripción
Propiedad string urlBase Url del servicio web a consumir.


Usuarios

Tipo Nombre Descripción
Módulo Usuarios Módulo que se encarga de todo lo relacionado al manejo de usuarios.

Objetos/Métodos/Propiedades

Tipo Tipo de campo Nombre Descripción
Clase IUsuario Usuarios ???


Productos

Tipo Nombre Descripción
Módulo Productos Módulo que se encarga de todo lo relacionado al manejo de productos. Por ejemplo, listar productos, filtrar productos, comparar productos, editar objeto de producto, etc.

Objetos/Métodos/Propiedades

Tipo Tipo de campo Nombre Descripción
Clase IProductos Productos ???


Carro de compra

Tipo Nombre Descripción
Módulo Carro Módulo que se encarga de todo lo relacionado al manejo del carro de compra.

Objetos/Métodos/Propiedades

Tipo Tipo de campo Nombre Descripción
Clase ICarro Carro ???


Direcciones

Tipo Nombre Descripción
Módulo Direcciones Módulo que se encarga de todo lo relacionado al manejo de direcciones.

Objetos/Métodos/Propiedades

Tipo Tipo de campo Nombre Descripción
Clase IDireccion Direcciones ???


Métodos de pago

Tipo Nombre Descripción
Módulo MétodosDePago Módulo que se encarga de todo lo relacionado al manejo de métodos de pago.

Objetos/Métodos/Propiedades

Tipo Tipo de campo Nombre Descripción
Clase IMetodosDePago MetodosDePago ???


Interfaces

Tipo Nombre Descripción
Módulo Interfaces Módulo que se encarga de todo lo relacionado al manejo de métodos de pago.

Objetos/Métodos/Propiedades

Tipo Tipo de campo Nombre Descripción
Interfaz IUsuario IUsuario Establece las propiedades/métodos para manejo de Usuarios
Interfaz IProducto IProducto Establece las propiedades/métodos para manejo de Productos
Interfaz ICarro ICarro Establece las propiedades/métodos para manejo del Carro de compra.
Interfaz IDirecciones IDireccion Establece las propiedades/métodos para manejo de Direcciones.
Interfaz IMetodosDePago IMetodosDePago Establece las propiedades/métodos para manejo de Métodos de Pago.


IUsuario

Tipo Tipo de campo Nombre Descripción
Propiedad string nombre El nombre del usuario.
Método IUsuario login Método para inicio de sesión.
??? ??? ??? ?


IProducto

Tipo Tipo de campo Nombre Descripción
Propiedad string id
Propiedad string name
Propiedad number price
Propiedad number dcto_ambiental
Propiedad number price_dcto
Propiedad number dcto_porcentaje
Propiedad IProducto_Type type
Propiedad string slug
Propiedad string nombre_front
Propiedad number garantia_meses
Propiedad number garantia_meses_publico
Propiedad IProducto_Imagenes imagenes ,
Propiedad string imagen
Propiedad string publicado
Propiedad string descatalogado
Propiedad string deleted
Propiedad number rc_prom_calificacion
Propiedad number rc_cant_calificacion
Propiedad string stock
Propiedad string eb_preventa
Propiedad string lib_preventa
Propiedad string plu_sku_erp_code
Propiedad string categoria_producto_id
Propiedad string categoria_producto
Propiedad true disponible_venta_web ,
Propiedad [] promociones
Propiedad number dcto_valor
Propiedad string descripcion
Propiedad string lib_eb_isbn
Propiedad IProducto_LibFormato lib_formato
Propiedad IProducto_LibPresentacion lib_presentacion
Propiedad string marca_producto_id
Propiedad string marca_producto
Propiedad IAutor[] autores
Propiedad string meta_title
Propiedad string meta_keywords
Propiedad string meta_description
Propiedad string dim_x_centimetros
Propiedad string dim_y_centimetros
Propiedad string dim_z_centimetros
Propiedad string peso_gramos
Propiedad string descripcion_corta
Propiedad string descripcion_2
Propiedad string ficha_tecnica_imagen
Propiedad [] galeria
Propiedad string[] slugs
Propiedad string url
Propiedad [] categorias_secundarias
Propiedad IProducto_LibEbLenguaje lib_eb_lenguaje
Propiedad IProducto_LibEbEdicionNub lib_eb_edicion_num
Propiedad string lib_eb_edicion_fecha
Propiedad string lib_eb_indice
Propiedad string lib_eb_prologo
Propiedad string lib_eb_publicacion_fecha
Propiedad string lib_eb_traducido_por_id
Propiedad string lib_eb_traducido_por
Propiedad string lib_num_pagina
Propiedad string eb_proteccion_digital
Propiedad string eb_tipo
Propiedad string eb_fecha_fin_preventa
Propiedad string lib_fecha_fin_preventa


IDireccion

Tipo Tipo de campo Nombre Descripción
Propiedad string nombre El nombre de la dirección.
??? ??? ??? ?


IMetodosDePago

Tipo Tipo de campo Nombre Descripción
Propiedad string nombre El nombre del método de pago.
??? ??? ??? ?

Readme

Keywords

none

Package Sidebar

Install

npm i suiteecommerce

Weekly Downloads

0

Version

1.4.0

License

ISC

Unpacked Size

214 kB

Total Files

63

Last publish

Collaborators

  • existaya