0.9.9 • Published 6 years ago

node-dummy-api v0.9.9

Weekly downloads
5
License
MIT
Repository
github
Last release
6 years ago

contributions welcome npm version Package Quality bitHound Code bitHound Dependencies bitHound Dev Dependencies

https://nodei.co/npm/node-dummy-api.png?downloads=true&downloadRank=true&stars=true

The lightweight alternative to bulky API servers

Are you the kind of developer that doesn't want to rely on a working API in order to perform your development routines ? Look no further then

After a lot of time, I decided to revamp this project and rewrite it completely along the same idea. Stay tuned for updates

Note: The documentation is still in progress thus subject to frequent change.

  1. First steps
    1. Installation
    2. Quickstart
  2. Usage
    1. Usage example
    2. Configuration file
    3. API Route configuration
    4. Available random data keys
  3. Geek stats
  4. Credits

1.1 Installation

npm install -g node-dummy-api

1.2 Quickstart

node-dummy-api

2.1 Usage example

  • Create a file called .dummyapi anywhere on your hard drive (preferrably in the same root directory)
  • Start a console window located in the same directory
  • As the package prefers to be globally installed, run the package as a command

    node-dummy-api

2.2 Configuration file

{
  server: {
    host: string (default: "localhost")
    port: number (default: 1337)
    prefix: string (default: "/api")
    loglevel: string (default: "trace")

    authentication: {
      enabled: boolean (default: false)
      token: string
    }

    security: {
      enabled: boolean (default: false)
      cert: string -> https certificate path
      key: string -> https signing key path
    }
  }

  api: {
    routesPath: string -> if the file specified at this path exists, then the routes will be loaded from this location
    routes: [{
      path: string (example: "/users")
      model: {
        "some-key": "<valid-mocking-key>",
        "some-array-key": ["<valid-mocking-key>"],
        "some-array-key-two": ["<valid-mocking-key>", <size>],
        "some-object-key": {
          "key": "<valid-mocking-key>"
        }
      }
    }]
  }
}

2.3 API Route configuration

  • path: any string value that fits your needs (preceeded by /)
  • model: a JSON object, reflecting the structure of your needed API call

  • You can use any valid faker random data key in order to generate a property

  • You can generate arrays of random objects
  • You can use nested objects and arrays

2.4 Available random data keys

For generating random data, the program uses faker.js. Please refer to the library README file for a complete list of options. Don't forget to write the value in handlebars-style format {{x.y.z}}.

3. Geek statistics

JS: 329 loc JSON: 91 loc JSON: 420 loc

4 Credits

Open Source Love MIT License Semver