Code Monkey home page Code Monkey logo

helpful-web's Introduction

Help shouldn't hurt.

Build Status Code Climate Inline docs Open Tasks

Helpful is an open product that's being built by a fantastic group of people on Assembly. Anybody can join in building this product and earn a stake of the profit.

Getting Started

If you're running Windows, here's a guide written by one of our members on how to get set up.

Vagrant is the recommended way to run Helpful on your own machine. You need to download and install Vagrant before you can continue (this will take a while to run so you may want to grab some coffee).

git clone https://github.com/asm-helpful/helpful-web.git helpful-web
cd helpful-web
vagrant up

Once it's finished open up http://localhost:5000 in your web browser to check out Helpful.

Gems Installation and Database Migration

Remember that you are using Vagrant, so if you run bundle install or rake db:migrate directly in your terminal it will not affect the virtual machine where Helpful is running.

In order to run these commands, in the virtual machine, all you have to do is to run vagrant provision.

Environment Variables

If you need to change any environment variable you have to edit .env file properly and restart Rails server running:

vagrant ssh -c "sudo restart helpful"

Using Helpful

To create a new account for Helpful, click "Sign Up" on the homepage.

Advanced Email Configuration

Sending with Gmail

In your .env file, change the below values for your own email and password:

USE_GMAIL=true
SENDER_EMAIL_ADDRESS="[email protected]"
SENDER_EMAIL_PASSWORD="PassWord"

Save and restart the app (sudo restart helpful on vagrant)

Receiving with Mailgun (optional)

Setting up Mailgun in development takes a little work but allows you to use the actual email workflow used in production.

  1. Register for a free account at https://mailgun.com.
  2. Get your Mailgun API key from https://mailgun.com/cp it starts with "key-" and add it to your .env file as MAILGUN_API_KEY.
  3. Get your Mailgun test subdomain from the same page and add it to your .env file as INCOMING_EMAIL_DOMAIN.
  4. In order to recieve webhooks from Mailgun we need to expose our development instance to the outside world. We can use a tool called Ngrok for this. Download and setup Ngrok by following the instructions on the Ngrok site.
  5. Run rake mailgun to make sure everything is setup right. It should prompt you to create a route using rake mailgun:create_route.
  6. Run rake mailgun:create_route and when prompted enter your Ngrok address as the domain name.
  7. Send a test email to helpful@INCOMING_EMAIL_DOMAIN and you should see it appear in the helpful account.

Contributing

There are a couple of steps you need to take before contributing:

  1. Go to https://assemblymade.com and sign up.
  2. Link your GitHub account to your Assembly account in your profile settings.
  3. Create a new WIP at https://assemblymade.com/helpful/wips. Think of WIPs as GitHub issues.

Then just go ahead, fork the repo & issue a pull request. You're on your way to having a stake in Helpful.

helpful-web's People

Contributors

austinylin avatar bcjordan avatar bjfish avatar chexee avatar chrislloyd avatar davidbanham avatar ddyy avatar drewblas avatar erickreutz avatar iarora avatar jaredsmithse avatar jeroenleenarts avatar jess avatar just3ws avatar lachlanjc avatar manishval avatar maqen avatar mdeiters avatar nikhilmat avatar oweny avatar pacoqueen avatar pieterbeulque avatar pksunkara avatar pletcher avatar pugio avatar quinnbaetz avatar thijswouters avatar vanstee avatar vikfroberg avatar wesleylancel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

helpful-web's Issues

New Relic agent keep spawning processes

I am running Helpful on a local vagrant box, following instructions from README.md. I notice the vagrant box taking up 100% CPU, and on further investigation, a ruby process uses up most of the CPU. The process ID also keep changing.

This is from the newrelic_agent.log

[04/06/15 12:43:37 +0200 heroku (7883)] INFO : Starting the New Relic agent in "development" environment.
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : To prevent agent startup add a NEWRELIC_AGENT_ENABLED=false environment variable or modify the "development" section of your newrelic.yml.
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : Reading configuration from config/newrelic.yml (/vagrant)
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : New Relic Agent Developer Mode enabled.
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : Environment: development
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : Dispatcher: sidekiq
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : Application: hanxue-helpful
[04/06/15 12:43:37 +0200 heroku (7883)] WARN : Agent configured not to send data in this environment.
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : Installing Curb instrumentation
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : Installing deferred Rack instrumentation
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : Installing Rack::Builder middleware instrumentation
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : Installing Rails 3+ middleware instrumentation
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : Installing ActiveRecord 4 instrumentation
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : Installing ActiveJob instrumentation
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : Installing Net instrumentation
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : Installing Sidekiq instrumentation
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : Installing Rails 4 Error instrumentation
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : Installing Rails 4 Controller instrumentation
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : Installing Rails 4 view instrumentation
[04/06/15 12:43:37 +0200 heroku (7883)] INFO : Finished instrumentation
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : Starting the New Relic agent in "development" environment.
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : To prevent agent startup add a NEWRELIC_AGENT_ENABLED=false environment variable or modify the "development" section of your newrelic.yml.
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : Reading configuration from config/newrelic.yml (/vagrant)
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : New Relic Agent Developer Mode enabled.
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : Environment: development
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : Dispatcher: sidekiq
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : Application: hanxue-helpful
[04/06/15 12:43:42 +0200 heroku (7894)] WARN : Agent configured not to send data in this environment.
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : Installing Curb instrumentation
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : Installing deferred Rack instrumentation
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : Installing Rack::Builder middleware instrumentation
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : Installing Rails 3+ middleware instrumentation
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : Installing ActiveRecord 4 instrumentation
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : Installing ActiveJob instrumentation
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : Installing Net instrumentation
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : Installing Sidekiq instrumentation
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : Installing Rails 4 Error instrumentation
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : Installing Rails 4 Controller instrumentation
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : Installing Rails 4 view instrumentation
[04/06/15 12:43:42 +0200 heroku (7894)] INFO : Finished instrumentation

Notice when the same set of messages repeat, there's a different pid for heroku. I have temporarily disabled the new relic agent. Is there any way to prevent the ruby/heroku processes from getting created all the time?

Continuing the project

I haven't worked on this project before, but it seems quite promising. Would anyone else like to pick this up? I'm in.

Licence

Since it doesn't look like anybody is working on this, would you mind relicensing the entire project under MIT/BSD?

Empty inbox page

I am running Helpful on a local vagrant box. Signing up and logging in works, but when I look at the Inbox page, this is what I see:

image

I have tried loading the page on Chrome, Firefox and Safari with the same results. I don't see any errors in the log files. Am I missing a step?

Typo on home page

Homepage currently states that

"Helpful comes with a embeddable help box you can install on your own website. "

"a embeddable" should be updated to "an embeddable", as embeddable begins with a vowel. This does not appear in the helpful repository, or I'd have already fixed it, but may exist in the DB?

500 - Internal error

Hi Guys,

It seams that I've broke Helpful ;) after adding a custom domain, now all I get is a "500 - Internal error", please advise on what to do.

Thanks

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.