Skip to content

C0mplX/pilar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pilar

A super lightweight framework for working with express in a more structural and easy way.

How to use it

In order to get started using Pilar just run

$ yarn add pilar-server

Then in order to create a new express server you add the following

const pilar = new Pilar({
  port: 3001,
  cors: true,
  baseRoute: '/',
  routes: []
});
pilar.listen();

With the command abov you wil get a express server listening on port 3001, but since there are no routes there will be little action on the server. Lets add a new route!

Add routes

The routes are classes using some base elements of Pilar. in order to create a new route simply create a class like this

import {Request, Response} from "express";
import {BaseRouter, ErrorResponse, IBaseRouter, SuccessResponse} from "pilar-server";

/**
* We extend the class from pilars BaseRouter. This lets us use some built in stuff like
* pilars routing system.
*/

class UserRoutes extends BaseRouter implements IBaseRouter {
    public readonly path = '/user';
    
    constructor() {
        super();
        this.initRoutes();
    }
    
    /**
    * This is were you setup all your routes. The works like a normal express route
    * and can have middlewares. 
    */
    initRoutes(): any {
        this.router.get(`${this.path}`, ifYouLikeMiddleWarePlaceItHere,  UserRoutes.getUser);
    }
    
    private static async getUser(req: Request, res: Response) {
        res.send(new SuccessResponse(200, {user: "some user data"}));
    }
}
export class UserRoutes;

Then wen you have setup a route simply add it to your pilar class like so:

const pilar = new Pilar({
  port: 3001,
  cors: true,
  baseRoute: '/',
  routes: [new UserRoutes()]
});

if you want middlewares that are used on all routes you can add them here:

const pilar = new Pilar({
  port: 3001,
  cors: true,
  baseRoute: '/',
  middleWares: [myloggerMiddleware],
  routes: [new UserRoutes()]
});

pilar also comes with a simple logger in order to turn it on simply add logging:true

const pilar = new Pilar({
  port: 3001,
  cors: true,
  baseRoute: '/',
  middleWares: [myloggerMiddleware],
  routes: [new UserRoutes()],
  logging: true
});

About

A rest route framework based on express

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published