actionhero
v29.3.2
Published
The reusable, scalable, and quick node.js API server for stateless and stateful applications
Downloads
10,377
Readme
Actionhero
The reusable, scalable, and quick node.js API server for stateless and stateful applications
NPM | Web Site | Latest Docs | GitHub | Slack | Twitter
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...
- Web Clients: HTTP, HTTPS
- Web Socket Clients: HTTP, HTTPS
... 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:
Learn More 📚
- Getting Started @ www.actionherojs.com
- 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 <---
- Read the typedoc documentation @ docs.actionherojs.com
- 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.
- Starting with Actionhero version 18, the documentation for each version is included in this repository (and the NPM package) in the
- Find community-based resources
- Interact with the Community & View the Release History
- Server Client
In-depth Tutorials 🎓
Core Components
- Actions
- Tasks
- Middleware
- Initializers
- CLI Commands
- Configuration
- Cluster
- Chat & Realtime Communication
- File Server
- Logging
- Plugins
- Servers
- Localization & Translation
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
Thank you to all of Actionhero's contributors!
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