npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

fastserverexp

v1.0.9

Published

Modulo para creacion de un api con express sencillo

Downloads

23

Readme

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.