===========
Composer.js
===========
.. image:: https://gitlab.com/AcceleratXR/composerjs/cli/badges/master/pipeline.svg
.. image:: https://gitlab.com/AcceleratXR/composerjs/cli/badges/master/coverage.svg
.. toctree::
:hidden:
about
features
.. toctree::
:hidden:
:caption: Getting Started
install
openapi
authentication
.. toctree::
:hidden:
:caption: Composer Server
server/create
server/structure
server/routes
server/builtins
server/default_routes
server/debug
.. toctree::
:hidden:
:caption: Server: Advanced Topics
server/configuration
server/authorization
server/caching
server/jobs
.. toctree::
:hidden:
:caption: Reference Docs
:doc:`Core Library `
:doc:`Service Core Library `
.. toctree::
:hidden:
:caption: Get Involved
Discord
GitLab
Composer is a simple, light-weight and opinionated framework for rapidly developing scalable REST API services for NodeJS, written in TypeScript.
The framework combines the OpenAPI specification with a simple functional programming model to provide a highly expressive and powerful system for developing REST API services.
Features
========
* Built on OpenAPI
* HTTP 1.x/2.x Web Server
* WebSocket Support
* Global Configuration
* Dependency Injection
* Built-in behaviors for common REST API actions
* Built-in ORM layer
* Document Version Tracking
* MongoDB support
* Redis support
* 2nd Level Caching
* Authentication
* Role Based Access Control
* Prometheseus metrics
Getting Started
===============
Using Composer is as simple as 1-2-3.
Step 1
******
Define the REST API service using `OpenAPI `_ and save it as ``service.yaml``.
`Click here for an example `_.
.. image:: images/petstore_example.png
Step 2
******
Generate the project using the Composer CLI.
.. code-block:: bash
:linenos:
yarn global add @composer-js/cli
composer -i ./service.yaml -o . -t server -l nodejs
Step 3
******
Start the server!
.. code-block:: bash
:linenos:
yarn install
yarn start