=======================
A Yammer/Django Application application built for the gamification of learning the names of your fellow colleagues. One difficult part of joining a new company is putting names to faces. Utilizing Yammer OAuth, this webapp can make the learning process more fun.
- Register An App With Yammer
- Note the Redirect URI & Javascript Origins field
- Dev:
- Redirect URI -
http://localhost:8111/auth/yammer/callback
- Javascript Origins -
http://localhost:8111
- Redirect URI -
- Production:
- replace dev fields with respective hostname
- Once you register, you'll receive a
Client ID
andClient Secret
. Copy these keys, as you'll need to plug them into your application settings.
- Dev:
- Clone this repo
- Copy
face_it/settings/local.py.example
toface_it/settings/local.py
- Add your keys (created in step 1) to
face_it/settings/local.py
- Install Vagrant and Virtualbox
- Initialize the vagrant box -
vagrant up
- Log into the server -
vagrant ssh
- Create a super user using the command
python manage.py createsuperuser
- Install & Start Redis Cache server prior in a separate shell -
redis-server
- Launch the app -
python manage.py runserver 0.0.0.0:8000
- Access the app in your browser -
http://localhost:8111
Required Items
- Redis Server
- AWS Bucket
- Postgres Server
####Steps
heroku create {appName}
heroku config:add BUILDPACK_URL=https://github.com/ddollar/heroku-buildpack-multi.git
git push heroku master
heroku addons:add heroku-postgresql
- Create a RedisToGo account
heroku addons:add redistogo
heroku config:add REDISTOGO_URL={instanceName}
- i.e instanceName = redis://redistogo:[email protected]:10355/
- Create an AWS account to have access to an AWS Bucket
- Create environment variables specific for the created aws bucket:
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_STORAGE_BUCKET_NAME
- Create environment variables specific for the created aws bucket:
heroku ps:scale web=1
heroku run python manage.py syncdb
####Required Environment Variables Checklist
Environmental Variable Name | Value (example) |
---|---|
SOCIAL_AUTH_YAMMER_KEY | xxxxxxx |
SOCIAL_AUTH_YAMMER_SECRET | xxxxxxx |
NPM_CONFIG_PRODUCTION | true |
DJANGO_SETTINGS_MODULE | face-off.settings.production |
REDISTOGO_URL | redis://redistogo:[email protected]:10355/ |
AWS_ACCESS_KEY_ID | xxxx |
AWS_SECRET_ACCESS_KEY | xxxx |
AWS_STORAGE_BUCKET_NAME | xxx-bucket |
- Load test fixture data
./manage.py loaddata "core/fixtures/core-test.json"
- Applying fixtures pushes pre-populated data into your application.
- Run unit-tests -
python manage.py test
- start behave instance -
behave core/features
- Yammer related Data
- First Name
- Last Name
- Yammer profile page link
- Network Name