Socket
Socket
Sign inDemoInstall

fulton-server

Package Overview
Dependencies
77
Maintainers
1
Versions
62
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    fulton-server

Fulton is the best practical way to build web apis or websites we have done in our company. Basically, Fulton is integrated many popular libraries or frameworks seamlessly. By use Fulton, developers can build a completed web api or a websites quickly.


Version published
Weekly downloads
2
decreased by-91.3%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

Fulton Server


Fulton Server is integrated many essential features and packages that a functional web server needs. Using Fulton Sever can accelerate a lot of time from building a state of art web server from scratch.

CLI


Use Fulton Server will Fulton CLI, see

Integration

typescript

we encourage you use Fulton Server with typescript because typescript provide many features and experiences that pure javascript doesn't have. And Fulton takes the advantage of decoration of typescript.

For Example,

@router("/my")
class MyRouter extends Router {
    @httpGet()
    hi(req, res){
        res.send("Hi there")
    }
}

here @router and @httpGet are the decorators. As you can see, it make your code more meaningful.

express

Fulton Server is based on express. express is a very lite web server package and it is also most popular package for nodejs. And we use the feature of decoration of typescript to build Router. See Router for more information.

inversify

Dependency Injection(DI) and inversion of control(IoC) are a good developing pattern. And inversify is a very mature package, so we includes it into Fulton Server. See DI for more information.

passport

Authentication is a basic feature of a functional web server. Fulton Server providers this feature definitely. Authentication is somehow complicated, so Fulton Server integrates passport, a useful authentication package, to help your web server authenticate users. See Identity for more information.

typeorm

Fulton Server takes the advantages of typeorm to connect multiple database engine. See Entity for more information.

swagger

Fulton Server can generate swagger.json that might help export your web server to other service. Also, Fulton Server embedded the swagger ui, so developments can see the api docs with look at code. See docs for more information.

winston

Fulton Server uses winston for its loggers. See logging for more information.

jsonapi

Fulton Server fully supports jsonapi.

Options

We want Fulton can be easy to configure, so we put almost every configurable settings in options variable. For example,

export class ExampleApp extends FultonApp {
    protected async onInit(options: FultonAppOptions): Promise<any> {
        options.routers = [
            FoodRouter,
            IngredientRouter
        ];
        
        options.entities = [Food, Ingredient]

        options.cors.enabled = true;
        options.docs.enabled = true;

        options.identity.enabled = true;
        options.identity.google.enabled = true;
    }
}

See Options for more information.

Dependencies

when you install fulton-server, almost all of dependencies are installed expect of some optional dependencies. When you enable the features, you have to install these packages, too.

  • Database drivers:
    • for mongodb : run npm install mongodb@2.2
    • for SQLite : run npm install sqlite3
  • For Google Auth : run npm install google-auth-library
  • For Github Auth : run npm install passport-github
  • For Swagger Docs : run npm install swagger-ui-express

Requirements

  • node.js > 7.0, Fulton Server uses a lot of features on ES2015 and ES2016, so it needs newer version of nodejs
  • typescript > 2.4

Issues

There are some known issues, see the notes to avoid the issues.

  • Because typescript isn't really a programming language. The ts code will compiled to javascript. And javascript doesn't have interface and generic type and a lot features which only exists on typescript for helping coding experience. After compiling, they are all gone.

  • zone.js has a problem for es2017. use es2016 for now.

FAQs

Last updated on 14 May 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc