About the app
The main purpose of the app is to manage people within the projects.
The main table shows the current teams in each project, but you can also add people who will start working on the project in the future, and see the people who are going to join or leave the project team by clicking “highlight ending” and “highlight next”. The app also gathers the information about a team member, like role, telephone number, github nick, or the city in which we work.
- Rails 4.2.5
- Ruby 2.3.0
- ReactJS 0.14.2
You need ImageMagick installed on your system, on OS X this is a simple as:
brew update && brew install imagemagick
On other systems check out the official ImageMagick documentation.
Since the app uses Selenium webdriver for running feature specs, make sure you have Firefox installed on your machine.
- the setup script will create your own copy of database.yml and sec_config.yml for your local configuration
- the app uses Google Auth; in order to configure it, check Dev auth setup and Local settings sections below
- once you get your authentication credentials, go to
config/sec_config.ymland update your
emails/internalto the domain which you want to allow for new users
- create a Slack team account and configure its integration (see Slack integration below)
- run webpack in watch mode:
You should put your local settings in
config/sec_config.yml file which is not checked in version control.
Note that emails->internal is required if you want to sign up in the app and should contain the domain used to login users eg.
example.com, NOT the full email like
- after logging in, go to your Profile's settings and update your role to 'senior' or 'pm'
- by default only 'pm' and 'senior' roles have admin privileges - creating new projects, managing privileges, memberships etc.
- optionally update your emails and company_name
- after deploy run
rake team:set_fields- it sets avatars and team colors.
Without Slack integration, the app will throw errors every time you do something that sends Slack notifications (most actions in the app).
- Get slack webhook url (more info https://team-name.slack.com/services/new/incoming-webhook). You need slack admin support for it.
- Add credentials to
slack: webhook_url: webhook_url username: PeopleApp
Dev auth setup
Make sure you generate
devise_secret_key and provide it in
sec_config.yml. You can generate a new secret with:
- goto https://console.cloud.google.com/
- create new project
Use Google APIs>
OAuth consent screen(second tab)
- fill in "Email address" and "Product name" and save
- go to
- Create client ID:
OAuth client ID
Authorized redirect URIto
- go to: https://github.com/settings/applications/new
- create github application (callback address is
The app uses Feature flags through Flip gem. The feature flag panel (requires admin privileges) is available at
Gemsurance - keep gems up to date
Profile app uses
gemsurance as development dependency. It should be used to check which gems are up to date.
To use it just write in console:
bundle exec gemsurance
It will generate HTML file with list of gems. Gems in bold are the one specified in
libv8 && therubytracer
If you run into problem during instalation of
libv8 gem - try:
brew tap homebrew/versions brew install v8-315 gem install libv8 -v '22.214.171.124' -- --with-system-v8 gem install therubyracer -- --with-v8-dir=/usr/local/opt/v8-315 bundle install
npm issues can be solved via:
npm cache clear
rm -r node_modules/ npm install
If you're experiencing:
Module build failed: SyntaxError: /Users/USERNAME/package.json: Error while parsing JSON - Unexpected end of JSON input
You probably are running global version of
npm start, or just simply remove the file.
First, thank you for contributing!
Here a few guidelines to follow:
- Write tests
- Make sure the entire test suite passes
- Make sure rubocop passes, our config
- Open a pull request on GitHub
- Squash your commits after receiving feedback
Copyright (c) 2014-2016 Netguru. See LICENSE for further details.