serviser
is abstraction layer built on top of express for creating transparent, scalable and stable REST API
s.
The emphasis is put, among other features, on REST API documentation, validation (security), error handling and automation of perpetually repeated tasks.
The goal is to provide out of the box solution to common problems that arise when using nodejs frameworks at scale but at the same time keeping the core functionality lightweight with modular, swappable plugin based architecture.
Quick start
Generate working new project skeleton:
> mkdir my-api
> cd my-api
> npx serviser-template init # shorthand for npm i serviser-template
# && ./node_modules/.bin/serviser-template init
> npm start
Resources
- Getting started
- Public API Reference
- Changelog
- Gitter chat room (discuss ideas and ask questions)
Features
- Promises!
- Documentation autogeneration
- A SDK client package autogeneration
- JSON Schema integration (no duplicate definitions anymore!)
- request data validation
- response data filters
- App lifecycle events (event driven)
- shell integration
- Resource & Service integrity inspection capabilities (health monitoring)
- caching solutions
- Semantic Service versioning
- and more (see Public API Reference)!
What this project is NOT:
- All in one MVC & ORM robust and monolithic solution.
Main ideas:
Interfaces are created and procedures standardized only where it's necessary.
Non-integral parts of the framework are built as plugins.
Loosely coupled design is often prefered.
Tests
npm test