sernite

0.9.8 • Public • Published

SERNITE

npm Codacy Badge NPM

Sernite is a higher level web framework for more modular and serverless-like server-side scripting.

Table of Contents

Installation

Use the npm to install sernite.

$ npm install -g sernite

Getting Started

cd /my/projects/folder # open your favorite project folder 
$ mkdir hello_world && cd hello_world # create a folder and open it 
$ sernite init  # initialize sernite 
$ sernite run  

For more detailed tutorial, visit webpage

Concepts

  • ### Scripts

    Sernite scripts are handlers that invoked in sub-processes when their assigned request arrived at the Sernite server. \ scripts can be assigned from sernite.json file

     
    // Other configurations..
    "scripts" : [
      {
        "url" : "/echo/:message",
        "path":"scripts/echo.js",
        "params":[
          "url:message",
          "amazingParam"
        ],
        "methods": ["GET"]
      }
    ]
    // Other configurations..
     

    echo.js will be invoked when a GET /echo/:message request arrived. In sernite scripts, there are two special global variables

    • params : an array contains all parsed parameters. In example; for GET /echo/hello request, params array looks like that ['hello','amazingParam']

    • done : a function that finalize the process with or without an error

      Sernite scripts must import a function with two paramaters:

    • send : sends your message to web client through stdout

    • nitmsg : sends your query to the nit and waits for its response and returns

      // scripts/echo.js
      // for GET /echo/hi
      module.exports = async function(send,nitmsg){
        let message = params[0] // hi
        send(message) // send to client `hi`
      }

  • ### Nits Nit is a just simple node.js module that exports a function which has two parameters and returns a response.

    module.exports = async function(query){
      let resp = "";
      //some processes...
      return resp;
    }

Upcoming Features

  • Multiple language support for sernite scripts. considering:
    • Go
    • Python
    • Haskel
    • Lua
    • Java

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

forthebadge

Dependencies (7)

Dev Dependencies (1)

Package Sidebar

Install

npm i sernite

Weekly Downloads

0

Version

0.9.8

License

MIT

Unpacked Size

32.5 kB

Total Files

34

Last publish

Collaborators

  • ahmetcanozcan