You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Sep 21, 2022. It is now read-only.
This project is a fully-fledged modern application based on Actionhero, React, and Next.JS. It uses Sequelzie as the ORM and connects to Redis and Postgres. This app is deployed automatically to Heroku from the master branch. This project is meant to serve as an example for a more complex Actionhero projects.
This application features:
Clear Project layout
Accounts (sign up, sign in, Sessions, CSRF validation)
Real time chat
Persistent message storage
Parallel Testing (unit, action, component, and integration)
Deployment and Hosting
Overview
This project runs Actionhero, which then in turn hands of processing of the front end to next.js - the project includes the code for both our backend (actionhero) and frontend (next.js).
API
Actionhero
Sequelzie and Typescript-Sequelzie via ah-sequelize-plugin
Migrations
typescript tags for model definition
migrations for database schema management
Session management via redis and endpoint protection via middleware
Parallel testing against multiple databases
Front End
Next.js
Client-side protection combining session cookies with CSRF protection
React + Hooks: Functional components and Hooks for API access
React Bootstrap for responsive pages
Full browser testing with Jest + Selenium
Running Locally (OSX)
# 1. ensure that postgres and redis are running
brew install postgresql
brew install redis
brew services start postgresql
brew services start redis
#2. create the postgres database
createdb chat_development
#3
npm start # or `npm run dev`
Testing
#1. create the postgres databases (we will run up to 5 tests in parallel)
./api/bin/create_test_databases
#2 Install the Chrome webdriver# (on OSX)
brew cask install chromedriver
#3. Run the test suite# we will built the app, run linters, and test the web and api
npm test
Deployment
This project is automatically deployed to Heroku upon changes to the master branch. chat.actionherojs.com hosts the latest version of this codebase. The Procfile determines what processes are run by Heroku.
About
An example Actionhero application using seqeulize and next.js