Actionhero

Actionhero is a realtime multi-transport nodejs API Server with integrated ...

README

Actionhero


_The reusable, scalable, and quick node.js API server for stateless and stateful applications_


Actionhero Logo
NPM Version Node Version NPM Dependency Status

Test Awesome Follow new releases 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](https://www.actionherojs.com/tutorials/actions), [consume static content](https://www.actionherojs.com/tutorials/file-server), and [communicate with each other](https://www.actionherojs.com/tutorials/chat). 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...

- Web Clients: HTTP, HTTPS
- Web Socket Clients: HTTP, HTTPS


Quick Start


  1. ``` sh
  2. # Generate a new Project
  3. npx actionhero generate
  4. npm install
  5. npm run build
  6. npm run dev # <-- I automatically notice changes and restart, as well as compiling .ts files

  7. # Use the actionhero CLI
  8. (npx) actionhero generate action --name my_action
  9. (npx) actionhero generate task --name my_task --queue default --frequency 0

  10. # Test
  11. npm test

  12. # To deploy your app
  13. npm run build
  14. npm run start
  15. ```

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

Or deploy a free API server now:
Deploy to Heroku

Learn More 📚


  - Actionhero's website can be found @ https://github.com/actionhero/www.actionherojs.com/. If you want to contribute to this site, visit the related project
  - ---> Start with the Tutorials <---
  - Starting with Actionhero version 18, the documentation for each version is included in this repository (and the NPM package) in the /docs folder. The current version of this documentation is also automatically deployed to https://docs.actionherojs.com.

In-depth Tutorials 🎓


Core Components



Server Types



Testing, Deployment, and Operations



Sample Projects



Who?


- Many folks have helped to make Actionhero a reality.
- If you want to contribute to actionhero, contribute to the conversation on github and join us on slack

Contributing


- Contributing to Actionhero is easy! You can learn more about contributing to Actionhero here
- By engaging the with Actionhero community or contributing to this or related projects, you agree to our Code of Conduct

License



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