1.4.0 • Published 4 years ago

suiteecommerce v1.4.0

Weekly downloads
2
License
ISC
Repository
bitbucket
Last release
4 years ago

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ódigoContextoReglasEjemplo
Primer lanzamientoNuevo productoComienza con 1.0.01.0.0
Solución de errores (bugs) con RétrocompatibilidadParcheSe suma uno (1) al tercer dígito1.0.1
Nuevos aditamentos con RétrocompatibilidadLanzamiento menorSe suma uno (1) al segundo dígito1.1.0
Cambios no RétrocompatiblesLanzamiento mayorSe suma uno (1) al primer dígito2.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 BackendVersiones Frontend
1.0.01x

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

FicheroDescripciónObservaciones
package.jsonJson 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.jsonJson usado para configurar TypeScript y su proceso de compilación.
src/main.tsFichero 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

PropiedadDescripciónValor

Dependencias del paquete

DependenciaDescripción
typscriptMás información en typesscript - npm
@types/nodeMás información en @types/node - npm
axiosMás información en axios - npm
axios-observableMás información en axios-observable - npm
rxjsMás información en rxjs - npm

Comandos disponibles en ./package.json

ComandoDescripciónObservaciones
npm run tscInitInicia TypeScript en el proyecto
npm run tscCorre el proceso de compilación de TypeScriptEste compando sólo compila mas no corre el proyecto.
npm run tscAndPlayCorre el proceso de compilación de TypeScript y luego corre el proyecto para validar inputs/outputsCompila y corre el código en el paquete
npm loginInicia una sesión remota con el sistema de NPM para publicación del proyectoCredenciales????
npm publishPublica el paquete en NPM conbase en la versión configurada en el fichero package.jsonCada 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

TipoNombreDescripción
MóduloConfigMódulo con el cual se puede configurar el comportamiento de otros módulos.

Objetos/Métodos/Propiedades

TipoTipo de campoNombreDescripción
PropiedadstringurlBaseUrl del servicio web a consumir.


Usuarios

TipoNombreDescripción
MóduloUsuariosMódulo que se encarga de todo lo relacionado al manejo de usuarios.

Objetos/Métodos/Propiedades

TipoTipo de campoNombreDescripción
ClaseIUsuarioUsuarios???


Productos

TipoNombreDescripción
MóduloProductosMó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

TipoTipo de campoNombreDescripción
ClaseIProductosProductos???


Carro de compra

TipoNombreDescripción
MóduloCarroMódulo que se encarga de todo lo relacionado al manejo del carro de compra.

Objetos/Métodos/Propiedades

TipoTipo de campoNombreDescripción
ClaseICarroCarro???


Direcciones

TipoNombreDescripción
MóduloDireccionesMódulo que se encarga de todo lo relacionado al manejo de direcciones.

Objetos/Métodos/Propiedades

TipoTipo de campoNombreDescripción
ClaseIDireccionDirecciones???


Métodos de pago

TipoNombreDescripción
MóduloMétodosDePagoMódulo que se encarga de todo lo relacionado al manejo de métodos de pago.

Objetos/Métodos/Propiedades

TipoTipo de campoNombreDescripción
ClaseIMetodosDePagoMetodosDePago???


Interfaces

TipoNombreDescripción
MóduloInterfacesMódulo que se encarga de todo lo relacionado al manejo de métodos de pago.

Objetos/Métodos/Propiedades

TipoTipo de campoNombreDescripción
InterfazIUsuarioIUsuarioEstablece las propiedades/métodos para manejo de Usuarios
InterfazIProductoIProductoEstablece las propiedades/métodos para manejo de Productos
InterfazICarroICarroEstablece las propiedades/métodos para manejo del Carro de compra.
InterfazIDireccionesIDireccionEstablece las propiedades/métodos para manejo de Direcciones.
InterfazIMetodosDePagoIMetodosDePagoEstablece las propiedades/métodos para manejo de Métodos de Pago.


IUsuario

TipoTipo de campoNombreDescripción
PropiedadstringnombreEl nombre del usuario.
MétodoIUsuariologinMétodo para inicio de sesión.
??????????


IProducto

TipoTipo de campoNombreDescripción
Propiedadstringid
Propiedadstringname
Propiedadnumberprice
Propiedadnumberdcto_ambiental
Propiedadnumberprice_dcto
Propiedadnumberdcto_porcentaje
PropiedadIProducto_Typetype
Propiedadstringslug
Propiedadstringnombre_front
Propiedadnumbergarantia_meses
Propiedadnumbergarantia_meses_publico
PropiedadIProducto_Imagenesimagenes,
Propiedadstringimagen
Propiedadstringpublicado
Propiedadstringdescatalogado
Propiedadstringdeleted
Propiedadnumberrc_prom_calificacion
Propiedadnumberrc_cant_calificacion
Propiedadstringstock
Propiedadstringeb_preventa
Propiedadstringlib_preventa
Propiedadstringplu_sku_erp_code
Propiedadstringcategoria_producto_id
Propiedadstringcategoria_producto
Propiedadtruedisponible_venta_web,
Propiedad[]promociones
Propiedadnumberdcto_valor
Propiedadstringdescripcion
Propiedadstringlib_eb_isbn
PropiedadIProducto_LibFormatolib_formato
PropiedadIProducto_LibPresentacionlib_presentacion
Propiedadstringmarca_producto_id
Propiedadstringmarca_producto
PropiedadIAutor[]autores
Propiedadstringmeta_title
Propiedadstringmeta_keywords
Propiedadstringmeta_description
Propiedadstringdim_x_centimetros
Propiedadstringdim_y_centimetros
Propiedadstringdim_z_centimetros
Propiedadstringpeso_gramos
Propiedadstringdescripcion_corta
Propiedadstringdescripcion_2
Propiedadstringficha_tecnica_imagen
Propiedad[]galeria
Propiedadstring[]slugs
Propiedadstringurl
Propiedad[]categorias_secundarias
PropiedadIProducto_LibEbLenguajelib_eb_lenguaje
PropiedadIProducto_LibEbEdicionNublib_eb_edicion_num
Propiedadstringlib_eb_edicion_fecha
Propiedadstringlib_eb_indice
Propiedadstringlib_eb_prologo
Propiedadstringlib_eb_publicacion_fecha
Propiedadstringlib_eb_traducido_por_id
Propiedadstringlib_eb_traducido_por
Propiedadstringlib_num_pagina
Propiedadstringeb_proteccion_digital
Propiedadstringeb_tipo
Propiedadstringeb_fecha_fin_preventa
Propiedadstringlib_fecha_fin_preventa


IDireccion

TipoTipo de campoNombreDescripción
PropiedadstringnombreEl nombre de la dirección.
??????????


IMetodosDePago

TipoTipo de campoNombreDescripción
PropiedadstringnombreEl nombre del método de pago.
??????????
1.4.0

4 years ago

1.3.0

4 years ago

1.2.0

4 years ago

1.1.0

4 years ago

1.0.0

4 years ago