expi
Modular, Minimalistic API Framework built with express.
Installation
Install expi using
$ npm install --save expi
Example
A working example can be found in the modules root folder.
$ node node_modules/expi/example/app.js
or
$ cd node_modules/expi && npm run example
TODO
- Documentation for:
- Linting
- Testing
- Add new features
- Dedicated session/authentication hook
- Custom response schema
- Extended response functionality
- Clusterization
- Extended versioning (Provide versioned modules under special routes for backward compatablility)
- New layer ontop of route parameters
- Expose all express functions without interfering with expi functionality
- Proper releases
- Build tasks
- Handling preRoutes middleware while still returning 404 on module path without a route specified
- Handle default errors, http codes, bad requests etc.
Documentation
A small overview over the functionality expi provides
Expi.Module(options)
Usage:
let Module = require('expi').Module
let module = new Module(options)
Configuration:
options
name
: The name of the Module, this gets displayed as response.meta.name
version
: The version of the Module, this gets displayed as response.meta.version
path
: The base path of the module. This path is relative to the root path of the server.?middleware
preRoutes
: Array of functions, these functions are plugged in as middleware before any routes and even before the internal expi-middlewarepostRoutes
: Array of functions, these functions are pluggin in as middleware after all routes and even after the internal expi-middleware (Caution: if expi-middleware is active, a response might be sent already!)
routes
: Array of expi.Route instances?methods
: Array of expi.Method instances
More documentation coming soon, for details take a look at the example in expi_root/example
(This module is in an early state, use with caution)