hiring!
Parabol - We'reOverview
Parabol is an open-source SaaS application for running team retrospectives and operating a distributed organization. We publish our company's history and business metrics, too.
Stack Information
Concern | Solution |
---|---|
Server | Node |
Server Framework | uWebSockts.js |
Database (Legacy) | RethinkDB |
Database | PostgreSQL |
PubSub & Cache | Redis |
Data Transport | GraphQL |
Real-time Connectivity | trebuchet |
Client Cache | Relay |
UI Framework | React |
Styling | Emotion |
Setup
Prerequisites
- Node
- Yarn
- Docker Compose
- Watchman (Development only)
Installation
$ git clone https://github.com/ParabolInc/parabol.git
$ cd parabol
$ cp .env.example .env # Add your own vars here
$ yarn
$ yarn db:start
$ yarn dev
By default, the app will run at: http://localhost:3000/
If yarn db:start
failed and localhost:5050
isn't working, a docker
container, volume or image may be corrupted and need to be pruned.
Build for production and start application:
$ yarn && yarn build && yarn start
RethinkDB
- Migrations are stored in
packages/server/database/migrations
- RethinkDB Dashboard is at http://localhost:8080
PostgreSQL
-
pgadmin is at http://localhost:5050
-
Connect using the values of
PGADMIN_DEFAULT_EMAIL
andPGADMIN_DEFAULT_PASSWORD
from your.env
-
Click "Add New Server" and fill out the forms with your
.env
values- General.name = POSTGRES_DB
- Connection.host = 'postgres' (hardcoded from docker-compose dev.yml, not from .env!)
- Connection.username = POSTGRES_USER
- Connection.password = POSTGRES_PASSWORD
- Connection.maintenanceDatabase = POSTGRES_DB
- Connection.port = POSTGRES_PORT
-
Fill out the form with values from your
.env
. Set the host topostgres
Getting Involved
Parabol offers equity for qualified contributions.
See CONTRIBUTING.md for more information on how to get involved and how to get compensated.
Helpful VSCode extensions
We use GraphQL for IntelliSense and syntax highlighting.
Releases
For details on all releases, refer to CHANGELOG.md.
Parabol Core Team
License
Copyright (c) 2016-present, Parabol, Inc.
This codebase is dual-licensed under the GNU AFFERO GENERAL PUBLIC LICENSE, Version 3.0 while holding, at Parabol's sole discretion, the right to create new licenses. For details please read LICENSE.