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
- PostgreSQL
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.
- run
bin/setup
- 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.yml
and update yourgoogle_client_id
,google_secret
,google_domain
,github_client_id
,github_secret
accordingly - in
config/sec_config.yml
setemails/internal
to the domain which you want to allow for new users - create a Slack team account and configure its integration (see Slack integration below)
- run
rails s
- run webpack in watch mode:
npm start
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 test@example.com
.
- 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
sec_config.yml
slack:
webhook_url: webhook_url
username: PeopleApp
Make sure you generate devise_secret_key
and provide it in sec_config.yml
. You can generate a new secret with: rake secret
.
- goto https://console.cloud.google.com/
- create new project
- click
Use Google APIs
>Credentials
>OAuth consent screen
(second tab) - fill in "Email address" and "Product name" and save
- go to
Credentials
(first tab) - Create client ID:
New Credentials
>OAuth client ID
- choose
Web application
option - set
Authorized JavaScript origins
to:
http://localhost:3000
- set
Authorized redirect URI
to
http://localhost:3000/users/auth/google_oauth2/callback
- go to: https://github.com/settings/applications/new
- create github application (callback address is
http://localhost:3000/users/auth/github/callback
)
The app uses Feature flags through Flip gem. The feature flag panel (requires admin privileges) is available at /features
.
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 Gemfile
.
If you run into problem during instalation of therubytracer
, or libv8
gem - try:
brew tap homebrew/versions
brew install v8-315
gem install libv8 -v '3.16.14.13' -- --with-system-v8
gem install therubyracer -- --with-v8-dir=/usr/local/opt/v8-315
bundle install
Most 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 webpack
. Try npm start
, or just simply remove the file.
Introducing: People. A simple open source app for managing devs within projects.
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.