Coder Social home page Coder Social logo

wdi_6_rails_hw_tdd_hacker_news's Introduction

TDD/BDD Hacker News Homework

Hacker News is a social news website that caters to programmers and entrepreneurs, delivering content related to computer science and entrepreneurship.

While Hacker News is written in Lisp, we're going to write our own version of Hacker News using TDD & BDD in Rails.

Assignment

Create Hacker News using TDD to test your models, and BDD to create the rest of the application. Use Alex's diagram for flow if there's any question about the order of building things.

There are two notable parts that we do not need to implement:

  • Nested comments. Simply show the highest voted comments at the top and don't allow replies to specific comments, just to the overall submission.
  • Stories or Discussion pages. Allow for every link submission to have a link, and a description for additional commentary. On the real HN, every submission can either have a link or description, but not both.

Otherwise, it should visually resemble Hacker News and function much like Hacker News. Users can create accounts, login, submit links, make comments, and upvote downvote comments and see top stories on the front page.

You should have excellent test coverage, and you should deploy this to Heroku. You have tonight and tomorrow night to work on this, but structure your time wisely. Tomorrow you should refactor your tests to use FactoryGirl. There will also be some polymorphic refactoring that you'll want to do tomorrow.

Bonus

Investigate into how the point/voting system works and implement a method that will allow the posts to 'decay' over time, just like they do on HN or Reddit. In the past, students have found this research to be fulfilling.

wdi_6_rails_hw_tdd_hacker_news's People

Contributors

tibbon avatar grantovich avatar

Watchers

James Cloos 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.