An open-source SaaS application for operating Agile business teams.
by Parabol, Inc
Curious what this is all about? Each week we publish a distillation of our progress, philosophy, and more in Parabol Focus.
Live demo: http://action-staging.parabol.co/
Action is a Node.js application based upon the Meatier stack:
Concern | Solution |
---|---|
Server | Node 6 |
Server Framework | Express |
Database | RethinkDB |
Data Transport | GraphQL |
Sockets | socketcluster |
Client State | Redux |
Client Data Cache | Cashay |
Front-end Views | React |
Styling | react-look |
Action is programmed in ECMAscript ES6/7 (including async/await). Transpilation is provided by babel.
Action requires Node.js >=5.10.1 (we're using 6.2.0 in development). We recommend using n to install and manage your node versions.
Action also depends on RethinkDB. Make sure
you have it installed. If you have OSX, we recommend homebrew so
upgrades are as easy as brew update && brew upgrade rethinkdb
$ git clone https://github.com/ParabolInc/action.git
$ cd action
$ rethinkdb # in a separate window
$ npm install
$ npm run quickstart
Remember: if RethinkDB is running locally, you can reach its dashboard at http://localhost:8080 by default.
In this mode, webpack will hot swap your updated client modules without needing to restarting the development server.
$ npm run dev
In this mode, the server will build client bundle and start a production server with the fresh code.
$ npm run bs
The database schema version is managed by
rethink-migrate. Migrations
scripts are stored in ./src/server/database/migrations
.
If you make changes to the Action schema, make certain to create a new migration.
$ npm run db:migrate
The following commands are available to migrate your database instance forward and backward in time:
npm run db:migrate-up
- migrate up one schema versionnpm run db:migrate-up-all
- migrate upward to latest schemanpm run db:migrate-down
- migrate down one schema versionnpm run db:migrate-down-all
- migrate downward completely (will erase everything)
While running the app in development mode, navigate to http://localhost:3000/graphql for testing out new queries/mutations
We've begun assembling a pattern library of all of the components we've created for the app. Too see them, navigate to http://localhost:3000/patterns
Action is software built with the community for the community. We can't do it without your help!
You're contribution won't go unrewarded: Parabol offers equity in our young company for qualified contributions to Action.
See CONTRIBUTING.md for more information on how to get involved and how to get compensated.
Release | Summary |
---|---|
v0.5.3 | Add Project Updates, rallies, segment.io |
v0.4.1 | Added Me Dash., multiplayer editing states |
v0.4.0 | Add Lobby, Check-in, start of Team Dash. |
v0.3.0 | Add Welcome journey, redux-storage |
v0.2.0 | Add first pass at team creation/invitation |
v0.1.0 | Things got a whole lot meatier |
v0.0.1 | Developer preview and archtecture demo |
See CHANGELOG.md for greater detail on changes between releases.
Authored and maintained by Parabol.
Copyright 2016 Parabol, Inc.
Licensed under the GNU AFFERO GENERAL PUBLIC LICENSE, Version 3.0 (the "License"); you may not use this software except in compliance with the License. You may obtain a copy of the License at
https://www.gnu.org/licenses/agpl-3.0.en.html
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.