Actionhero
The reusable, scalable, and quick node.js API server for stateless and stateful applications
Please take a moment to fill out our 2020 Developer Survey!
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 # <--- new! I compile the TS to JS
npm run dev # <--- new! I use `ts-node` to let you develop on your ts files without compiling
# 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
# I'll run `prettier` and `build` for you first
# I handle .ts files now!
# To deploy your app
npm run build # <--- new! I compile the TS to JS
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 marketing site can be found @ https://github.com/actionhero/www.actionherojs.com/. If you want to contribute to this site, visit the related project
- Read the documentation @ docs.actionherojs.com
- ---> 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.
- 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
Contributing
- Contributing to ActionHero is easy! You can learn more about contributing to ActionHero here