Giter Site home page Giter Site logo

kave / face-off Goto Github PK

View Code? Open in Web Editor NEW

This project forked from excellalabs/face-off

0.0 1.0 0.0 5.08 MB

Utilize the Yammer API to test how well you can connect names to faces

License: Creative Commons Zero v1.0 Universal

Shell 1.42% Python 10.02% CSS 2.45% HTML 3.42% JavaScript 82.20% Gherkin 0.50%

face-off's Introduction

Face-Off Build Status Coverage Status

=======================

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.

Quick-Start Guide


1. Yammer Client Application

  • 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
    • Production:
      • replace dev fields with respective hostname
    • Once you register, you'll receive a Client ID and Client Secret. Copy these keys, as you'll need to plug them into your application settings.

2. Development Environment Setup

  • Clone this repo
  • Copy face_it/settings/local.py.example to face_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

3. Heroku Deployment (Optional)


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}
  • 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
  • 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

Tests


Unit Tests

  • 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

Selenium Tests w/ Behave

  • start behave instance - behave core/features

Data Stored

  • Yammer related Data
    • First Name
    • Last Name
    • Email
    • Yammer profile page link
    • Network Name

face-off's People

Contributors

kave avatar m3brown avatar sean-lewis avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.