Giter Site home page Giter Site logo

montazze / help Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mamut/help

0.0 2.0 0.0 1.61 MB

Small help requests system. Subscribe to topic so people can ask you for help or who subscribed where and ask them for help

Home Page: https://netguru.co/opensource

License: MIT License

Ruby 72.42% CoffeeScript 1.71% CSS 13.54% HTML 12.32%

help's Introduction

Help me!

Code Climate Code Climate Dependencies Circle CI

This application is a simple, easy to run support system for your team. It's ment to be used internally, to encourage your team members to help each other.

The flow is quite simple:

  • we sign in users with google apps
  • every user selects the topics, he feels he can help with
  • user seeking for help picks the topic from the list and application will randomly assign somebody to help him (from the list of users that marked the topic as their skill)

TL;DR: you select what you can help with or application selects somebody to help you

main page

Deploying

This is just a simple rails app, can be easly deployed to heroku under < 5 time mark :) Once you have your heroku.com account set up, do this:

  • Clone the application locally:

    git clone git://github.com/netguru/help.git help-app && cd help-app

  • create an empty app on heroku, with postgres - replace 'crazysheeps' with your own app name:

    heroku apps:create crazysheeps --addons heroku-postgresql

  • push the app to heroku, let them do their thing:

    git push heroku

  • load the database schema

    heroku run rake db:schema:load

Configuration

Setup database

create user and a role, then copy sample database.yml file.

createuser --superuser --createrole help
cp config/database.yml.sample config/database.yml

Once it's deployed it needs few configuration variables to run properly. Here is the config file for reference: https://github.com/netguru/help/blob/master/config/config.yml#L18

  • Secret key base - used for encrypting cookies

    heroku config:set SECRET_KEY_BASE=randomstringwithminimum30characters

  • App domain - the domain the application is aviable under. Like so:

    heroku config:set APP_DOMAIN=crazysheeps.herokuapp.com

  • Google apps - we assume you use google ouath for authentication. Go to your google console to generate oauth client and secret for the project. In google console set your_help_app_domain.com/auth/google_oauth2/callback

  • You can use plain google account but we recommend using google apps, to scope login to emails from your organization. Set values like so:

    heroku config:set GAPPS_ID=google_apps_client_id
    heroku config:set GAPPS_SECRET=google_apps_client_secret
    heroku config:set GAPPS_DOMAIN=google_apps_primary_domain
  • Postmark - if you want the application to send out email notifications on support request you can configure it to use postmark free account. Heroku makes it easy - read more here and follow the instructions: https://addons.heroku.com/postmark#10k

    heroku addons:add postmark
    heroku config:set POSTMARK_API_KEY=the_api_token_from_postmark_account

    Once you do have your postmark account connected with heroku, you can configure a from address with them (or set it to postmark default). More here: http://support.postmarkapp.com/customer/portal/articles/64741-how-can-i-send-on-behalf-of-my-users-

    heroku config:set [email protected]

  • You can also set a cc address for all support emails to scope the conversations under google group, or add notifications with Zappier - we used this to display support activity on hipchat: https://zapier.com/zapbook/email/hipchat/

    heroku config:set [email protected]

Setting help subjects

For now we did not yet develop any admin panel for the application. You will have to use heroku console to create your support categories. This is how we set them:

> heroku run rails console

irb(main):001:0> Topic.create(title: 'test category', description: 'test description')
=> #<Topic id: 3, title: "test category", description: "test description">
irb(main):002:0> Topic.create(title: 'anoter help subject', description: 'another topic description')
=> #<Topic id: 4, title: "anoter help subject", description: "another topic description">

Title have to be present and have minimum 3 characters. Description have to be present also and have minimum 6 characters.

Archiving users

In order to archive user, please use the following rake task:

heroku run bin/rake users:archive[[email protected]] --app=appname

If you don't have access ask someone who has. (senior / team leader)

Read more

Read more about the app & story behind at Open Source App To Support Your Culture.

Here a bit about the app's redesign & enhancing user experience.

Copyright (c) 2014 Netguru. See LICENSE for further details.

help's People

Contributors

lubieniebieski avatar olgad0110 avatar czajkovsky avatar achru avatar cintrzyk avatar madsheep avatar rwardenga avatar deedee88 avatar deashay avatar mamut avatar nessamurmur avatar pewniak747 avatar

Watchers

mntz avatar  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.