1.0.9 • Published 12 months ago

fastserverexp v1.0.9

Weekly downloads
-
License
ISC
Repository
-
Last release
12 months ago

Documentacion y uso del server con express js

documentacion en npm : https://www.npmjs.com/package/fastserverexp

Pasos para la configuracion del fastserver

  • se debe crear un archivo con nombre index.js
  • en la raiz de tu espacio de trabajo crear una carpeta con nombre source dentro de esta deberas crear una sub-carpeta con nombre server
  • dentro de la carpeta source/server/ crear un archivo con nombre server.js

dentro del insumo de la siguiente ruta source/server/server.js esta la clase que maneja todo el modulo de inicio del server y carga de los controladores de la aplicacion

en el archivo index.js que esta raiz de tu espacio de trabajo deberas configurar lo siguiente

 // const Server = require('./server/server')
const compression = require('compression')

// modulo de nuestro server en expres js 
const Server = require('fastserverexp')
const path = require ('path')
const pathApp = path.join(__dirname, '/source/collector');
const config = require('./config/config.app')

const apserver = new Server();

const routeApisRegister = [require('./config/config.apis.router'),compression]

const mongodb_connect = require("./connector/mongodb/connector.mongodb");
apserver.registerConnector("db", "mongodb", mongodb_connect.mongodb());



// inicializamos el fastserver
let port = 4000
let accessCors = {
    validate : true,
    list:['labdeveloper.com','labdeveloper.co']
}
apserver.start(port, routeApisRegister, accessCors, pathApp)

El inicializador de la aplicacion se le envian 2 parametros que son los siguientes, estos deben estar escritos en el siguiente orden

  • puerto con el que Desplegaremos la aplicacion
  • ruta de los apis

Uso de las apis

para poder crear las apis de tu proyecto deberas configurar lo siguiente en tu espacio de trabajo

  • Crear una carpeta en la raiz de tu proyecto con nombre config dentro de esta estaran los config de nuestro proyecto
  • Crear una archivo con el siguiente nombre config.apis.router.js puedes colocar el nombre de quieras siempre cuando este definido de la siguiente manera
// definimos nuestro modulo de express  en este caso para el  uso de los apis 
const express = require('express')
const app = express();
// definimos  la ruta donde estara nuestro api 
const userSignupSigin = require('../source/webapi/user/api.user.sesion');

// hacemos uso de ese api en especifico  ( lo publicamos )
app.use('/api/auth', userSignupSigin);

// exportamos el modulo de app 
module.exports = app

Una vez configurado lo siguiente debemos crear el api que anteriormente definimos, el nombre del archivo del api puede ser el que usted quiera siempre y cuando use el siguiente formato para definir los apis

// Creamos un objeto de apis dentro colocara  todos los metodos que tenga este api con su respectivo nombre
const optionsApisUser = [
       // api para crear usuarios 
       api.post('/authentication/signup', controller['session'].signup),
       // api para iniciar sesion  con usuario
       api.get('/authentication/signin', controller['session'].sigin)
]

// exportamos estos apis para poder hacerle uso desde el insumo de  config que anteriormente creamos 
module.exports = optionsApisUser

Este formato de creacion de apis se debe hacer siempre con cada nuevo api que usted quiera crear, el objeto de apis no puede estar vacio

El api debe estar definido en la carpeta /source/webapi/ de lo contrario dara error al momento que carguemos el aplicativo ya que esta carpeta sera en la que podremos definir todas nuestras apis ya que asi lo colocamos en el archivo de configuracion. puedes colocar las apuis en cualquier otra carpeta pero de ser asi debes definirlo en el archivo de configuracion porque si no dara error.

recuerda que el archivo de configuracion es el que usamos para registrar todas las apis en el proyecto.

Uso de los controladores

Estos archivos los usamos para colocar la parte logica del api, de esta manera tenemos las apis un poco mas limpia, cada controlador tendra asiganada la parte logica de un solo api con su respectivo metodo, por favor no mesclar los controladores para los otros metodos a menos que la logica de los mismo sea simple y legible

los controladores se deben definir de la siguiente manera

Primero debemos crear el archivo de configuracion que tendra las rutas de cada controlador con su respectivo nombre, el archivo de configuracion debe estar de la suguiente manera

// definimos cada controlador como si fuera un objeto el nombre  y el valor es la ruta en donde usted lo definira 
module.exports = {
    session: require('../source/controllers/user/controller.session'),
}

Como ve este archivo de configuracion es un objeto, puede exportarlo como usted quiera siempre y cuando este sea un objeto cada valor de las propiedades sera la ruta de donde tine los controladores definidos, en este caso la ruta en donde definio el controlador es ../source/controllers/user/controller.session

los controladores puede crearlos de cualquier manera, yo les recomiendo crealos de la siguiente manera :

// la palabra export y seguido el nombre del controlador  con sus respectivos parametros   envueltos en un try catch, usted puede manejar los errores a su gusto 
exports.sigin = async function (req, res, next) {

    // Validate request parameters, queries using express-validator
    try {
        return res.status(200).json({ status: 200, message: 'test' });
    } catch (e) {
        return res.status(400).json({ status: 400, message: e.message });
    }
}

Una vez definido los controladores para poder usar estos controladores en un api debe definirlos de la siguiente manera

 api.post('/authentication/signup', controller['session'].signup),

En el archivo donde define las apis y realiza el llamdo de los controladores segun el metodo que quiera usted hace el llamdo de la palabra reservada controller en esta habra un objetos de controladores que ya anteriormente usted ya definio.

1.0.9

12 months ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago