ActionHero | The reusable, scalable, and quick node.js API server for stateless and stateful applications

Actionhero

The reusable, scalable, and quick node.js API server for stateless and stateful applications


Actionhero Logo

NPM | Web Site | Latest Docs | GitHub | Slack | Twitter

NPM Version Node Version NPM Dependency Status Test Chat

Who is the Actionhero?

Actionhero is a multi-transport API Server with integrated cluster capabilities and delayed tasks. The goal of actionhero is to create an easy-to-use toolkit for making reusable & scalable APIs for HTTP, WebSockets, and more. Clients connected to an actionhero server can consume the api, consume static content, and communicate with each other. Actionhero is cluster-ready, with built in support for background tasks, 0-downtime deploys, and more. Actionhero provides a simple Async/Await API for managing every type of connection and background task.

Currently actionhero supports the following out of the box…

… and you can also make your own servers and transports.

Quick Start

Generate a new Project npx actionhero generate npm install npm run build npm run dev # ← I automatically notice changes and restart, as well as compiling .ts files # Use the actionhero CLI (npx) actionhero generate action --name my_action (npx) actionhero generate task --name my_task --queue default --frequency 0 # Test npm test # To deploy your app npm run build npm run start

Your new project will come with example actions, tests, and more.

Or deploy a free API server now:

Deploy to Heroku

Learn More :books:

In-depth Tutorials :mortar_board:

Core Components

Server Types

Testing, Deployment, and Operations

Sample Projects

License

Apache 2.0

Dedication

Technology is a powerful force in our society. Data, software, and communication can be used for bad: to entrench unfair power structures, to undermine human rights, and to protect vested interests. But they can also be used for good: to make underrepresented people’s voices heard, to create opportunities for everyone, and to avert disasters. This project is dedicated to everyone working toward the good.

Inspired by Martin Kleppmann

GitHub:

1 Like