Free online agile retrospective meeting tool
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Test ci (#2369) Sep 12, 2018
.github Added acceptance criteria to ISSUE_TEMPLATE.md Jan 17, 2018
.storybook add add/remove template mutations Sep 10, 2018
.vscode merge master Jun 5, 2018
__mocks__ move to standard (no semis) May 15, 2018
docs updated gif Jul 18, 2018
e2e fix other e2e test stuff Sep 12, 2018
flow-typed lint Apr 18, 2018
src Merge branch 'master' into fix-analytics Dec 5, 2018
static more file cleanup Nov 8, 2018
stories audit & remove unused dispatch refs Nov 19, 2018
webpack wire up bot, begin filling up script queue Oct 11, 2018
.env.example clean up private schema Sep 20, 2018
.env.test fixup tests Apr 16, 2018
.flowconfig fix flow Aug 21, 2018
.gitignore add .history to gitignore May 15, 2018
.gqlconfig prepare server to transmit draggable coords May 15, 2018
.graphqlconfig prepare server to transmit draggable coords May 15, 2018
.prettierignore initial cleanup with prettier-standard May 15, 2018
.prettierrc move to standard (no semis) May 15, 2018
CHANGELOG.md changelog for v2.21.0 Dec 5, 2018
CHECKS bump wait time on checks Jun 14, 2018
CONTRIBUTING.md E4E conversion rate doc update Aug 24, 2017
COPYING Proposal for new dual-licensing disposition Dec 20, 2016
LICENSE Proposal for new dual-licensing disposition Dec 20, 2016
README.md upgrade to babel 7 Sep 10, 2018
app.json add postdeploy dokku hook Dec 21, 2017
graphql.config.json Integrate slack [WIP] (#1122) Jul 14, 2017
jsconfig.json fix for meeting starts May 31, 2018
package.json release 05-Dec-2018 Dec 5, 2018
tsconfig.json remove custom fork & alias to ensure we're always using the right pac… Sep 2, 2018
tslint.json begin building in storybook Aug 17, 2018
yarn.lock add toast typings Nov 14, 2018

README.md

Action

Slack Status CircleCI codecov JavaScript Style Guide StackShare

Overview

Parabol is a free open-source SaaS application for running team retrospectives and operating a distributed organization.

We're hiring!

Action Screencap Image

Curious to learn where this all came from? Each week we publish a distillation of our progress, philosophy, and more in Parabol Focus.

Quick Links

Stack Information

Action is a Node.js application based upon the Meatier stack:

Concern Solution
Server Node
Server Framework Express
Database RethinkDB
Data Transport GraphQL
BidirectionalTransport trebuchet
Client Cache Relay
Front-end Views React
Styling Emotion
Unit Testing jest
Static typing Typescript

Action is coded using ECMAscript ES6/7 (including async/await). Transpilation is provided by babel.

Setup

Installation

Prerequisites

Action requires Node.js >=8.5.0 (we're using 8.5.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

Action also uses yarn which can be installed by running npm install -g yarn

Additional dependencies include redis, and watchman (optional for relay).

Source code

$ git clone https://github.com/ParabolInc/action.git
$ cd action
$ cp .env.example .env # be sure to verify the API keys have useful values
$ rethinkdb # in a separate window
$ yarn
$ npm run quickstart

Remember: if RethinkDB is running locally, you can reach its dashboard at http://localhost:8080 by default.

Client-side development

In this mode, webpack will hot swap your updated client modules without needing to restarting the development server.

$ npm run build
$ npm run dev

http://localhost:3000/

Server-side development

In this mode, the server will build client bundle and start a production server with the fresh code.

$ npm run bs

http://localhost:3000/

Database development

The database schema version is managed by migrate-rethinkdb. Migration scripts are stored in ./src/server/database/migrations.

If you make changes to the Action schema, make certain to create a new migration.

Test development

$ npm run db:migrate-testing # Only needs to be run once
$ npm run test # Runs all tests

Getting Started on Windows

Currently, many of the config files are written for a Unix based shell like bash. If you plan on contributing (awesome!), but are working on a Windows machine, you can follow these steps to get started. Note this is just one way of setting up the environment for Windows, but it is the least likely to give you trouble down the road.

  1. Follow the instructions to install bash for windows
  2. Open cmd and type bash
  3. Install node >= 8.5.0 inside of your bash instance
  4. Install the dependencies for watchman
  5. Install watchman from source
  6. Start an instance of rethinkDB
  7. Start an instance of redis
  8. Navigate to the directory of your choice
  9. $ git clone https://github.com/ParabolInc/action.git
    $ cd action
    $ yarn
    $ npm run quickstart

If you run into problems, run each of these commands separately and watch for errors.

npm run db:migrate
npm run build:dll
npm run build:relay
npm run dev

Bringing your database up to date

$ npm run db:migrate

Migrating backward and forward

The following commands are available to migrate your database instance forward and backward in time:

  • npm run db:migrate-up - migrate up one schema version
  • npm run db:migrate-up-all - migrate upward to latest schema
  • npm run db:migrate-down - migrate down one schema version
  • npm run db:migrate-down-all - migrate downward completely (will erase everything)

Exploring the data API:

While running the app in development mode, navigate to http://localhost:3000/graphql for testing out new queries/mutations

Exploring component design:

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

Getting Involved

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.

Releases

For details on all releases, refer to CHANGELOG.md.

About

Authored and maintained by Parabol.

Parabol Core Team

License

Copyright 2016, 2017, 2018 Parabol, Inc.

Action is dual-licensed under the GNU AFFERO GENERAL PUBLIC LICENSE, Version 3.0 while holding, at its sole discretion, the right to create new licenses. For details please read LICENSE.

See CHANGELOG.md