Skip to content

archive-/goodapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

389 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project uses ruby 1.9.3 (see .rvmrc)

  • redis

    • on mac, brew install redis

    • on *nix, pacman -S redis or similar

If using rvm (we are), cd <PATH_TO_goodapp/web>.

Install rvm (ruby version manager): beginrescueend.com/rvm/install/

rvm install 1.9.3
rvm use 1.9.3
rvm default 1.9.3
rvm gemset create goodapp
cd <GOODAPP_DIRECTORY>

RVM should prompt you – say you trust the .rvmrc by typing ‘y’

Make sure that rvm selects ruby 1.9.3 and the goodapp gemset.

Now bootstrap the project by installing dependencies specified in web/Gemfile

gem install bundler
cd web # this is the ruby on rails directory
bundle install

This will bundle the required gems.

Then, since we are approaching the demo, I changed some things to make things seem more “legit”.

# in /etc/hosts add the following lines
127.0.0.1 goodapp.com api.goodapp.com

Finally, start the server.

rails s[erver]

Point your browser to goodapp.com:3000 and tada!

To run on port 80, simply use the following.

sudo -E rails s[erver] -p 80
BEWARE

Issue with the letter_opener gem.

It uses $BROWSER to open the email and it is quite unsafe to run a brower as root – do this at your own risk.

$ cd web
$ rake db:migrate
$ cd web
$ VERBOSE=1 rake resque:scheduler
$ VERBOSE=1 COUNT=[numworkers] rake resque:scheduler

The Rakefile contains all testing tasks for the project (run in root, not web).

rake test:all
rake test:trust
rake test:web
  • users register on goodapp

  • if they have a binary tied to their account, then they are a developer and thus they have a rating

  • user creates account with email address that we confirm (tie to the user)

    • this email needs to be something that identifies them elsewhere too

    • what we have: APP STORE DEV –>> email <<– GOODAPP USER (is_dev => true)

  • user upploads a binary of theirs

    • we run this binary over as many scanners as we can to generate a baseline

      • !

        this should never yield negative results, otherwise, immediately throw up flag

    • have developers somehow gather people to sign off on the validity of their app

      • api calls so users of dev stores can do this too

      • this will have a decent influence on the rating (algorithm to be determined)

    • have developers with certain threshold of trust ENDORSE other developers

      • this will also have a decent influence on the rating

  • have an api accessible by users with is_distributor => true (supply API key on their dashboard)

    • fetch information on a developer using their email as a key

    • allow a system for rating integration + flagging

      • !

        distributor privilege problem will affect all changes in rating they have made

  • drag an drop links onto various boxes (‘Apple Store’, ‘website’, ‘Windows Store’, etc.)

  • model on Yelp

NOTES FOR /WEB

Options


id message good/badvalue (postive means good, negative bad, w/e) form id

# BASIC FORM <%= form_tag %>

<% Option.where(:form_id => 1).each do |o| %>
<%= check_box_tag %>

Form


id name

(1, ‘BasicForm’) (2, ‘TechForm’)

FormResult


user id app id

x change flash messages by devise to use “login” “register” …

  • validations on contact form!!

  • IMPORTANT : migrate to 1.9.3

  • write more tests (see ‘rake stats’ –> get closer to 1:2)

x replace twitter_bootstrap_form_for_ gem

  • get CanCan in there for protecting upload to just devs (tie dev to binary)

    • or have dev_id_ accessible if the person is admin (or app store)

x better flash messages, on register “Signed up!”

x standardize page headers (decide h1/h2 but then move it to a helper) o integrate bootstrap form as a ‘plugin’ or something

  • remove gutters from everywhere – can style the same but doesnt work

x make README sexy

  • improve the @active stuff

  • run rake doc:… at end for documentation

need new tables (?):

  • rating

    • dev id

    • overall rating

    • feedback rating

    • endorsement rating

    • scanner rating

    • prefix rating [will be either 0 or 0.05]

    • app store data scraping

    • third party data scraping

  • app feedback

    • app id

    • descripton [composed from checkboxes filled out in form]

    • rating [individually calculated rating per review]

  • techinal app feedback

    • app id

    • usability

    • flexibility

    • …blah [ lots of these - each category on answer - new column]

  • delete this file :)

About

🏫 {{incomplete}} {{2012}} UCSB Capstone Project 2012

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages