Our own StackOverflow
Branch: master
Clone or download
Pull request Compare This branch is 24 commits ahead, 95 commits behind tiy-durham-2014-09:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
bin
config
db
lib
log
public
test
vendor/assets
.gitignore
.ruby-version
Gemfile
Gemfile.lock
Guardfile
Procfile
README.md
Rakefile
config.ru
question_box.pdf

README.md

Question Box

This Rails application provides much of the same functionality as Stack Overflow.

Models

  • User
    • requires a name
    • requires an email, which must be unique
    • requires a password
    • has many comments
    • has many votes
  • Question
    • requires a title
    • requires text
    • belongs to and requires a user
    • has many comments (polymorphic association)
    • has many votes (polymorphic association)
    • knows its total score (determined by votes)
    • has and belongs to many tags (tags being short phrases that show the topics of the question)
  • Answer
    • belongs to and requires a question
    • belongs to and requires a user
    • requires text
    • can be chosen as the correct answer
      • but only one answer per question can be chosen
      • the author of the answer gets +100 points
    • has many comments (polymorphic association)
    • has many votes (polymorphic association)
    • knows its total score (determined by votes)
  • Comment
    • belongs to and requires a user
    • belongs to and requires a "commentable" (polymorphic association)
    • requires text
  • Vote
    • belongs to a user
    • belongs to a "voteable" (polymorphic association)
    • is positive or negative (+1 or -1)
    • when a positive vote is given to something a user created (question or answer), +10 points to that user
    • when a negative vote is given to something a user created (question or answer), -5 points to that user
    • when a user makes a negative vote, -1 points to that user (yes, it costs from your score to vote something down)
  • Tag
    • has a name
    • has and belongs to many questions