# Let's build a message board!
## Assumptions made by this curriculum
* You’ve gone through the standard RailsBridge installfest and have successfully completed the <a href="/installfest/get_a_sticker">Get a Sticker</a> step.
* You’ve gone through the RailsBridge <a href="/intro-to-rails">Suggestotron curriculum</a> at least once before, or maybe a couple of times, or maybe you feel decently comfortable with Rails for some other reason.
* You want to learn more Rails!!!
* Make a thing!
* Understand what the models, views, and controllers of a Rails app do and how they work together.
* Get more comfortable using error messages as guideposts and not as scary things.
## What’s Going to Happen?
* We’re going to build a message board system, where there are posts on the front page and you click through to see the original post plus discussion below.
* We’ve divided this into challenges:
* Challenge 1: create a new rails app with a static home page
* Challenge 2: install devise
* Challenge 3: make it pretty with bootstrap
* Challenge 4: add pages to create and look at individual posts
* Challenge 5: make a posts index page
* Challenge 6: add replying
* Challenge 7: inline replying on a post
* Challenge ∞: other features of your choice
* Each time you get your app into a functional state, before adding any more features, COMMIT TO GIT! The new features will probably break things, which is neat, but you’ll want to be able to roll back to a prior version if necessary.
MAJORLY IMPORTANT NOTE: We called the sections challenges because they are challenging! This curriculum will be most fun as a collaboration — talk things through with your teacher, TAs, and other students. This is a very different style of curriculum than Suggestotron, so don’t be discouraged if you aren't quite sure what to do next.
## How to use this curriculum
* Challenges are the big chunks of stuff to work on at a given time. These are gated by requirements — once you (or your group) has completed a set of requirements, go on to the next set.
* Requirements in this curriculum are not entirely divorced from what a requirement is in the agile software development methodology — things that should be in the application as defined by whoever is designing/deciding things about the product. Except here, we’ve also thrown in some non-application requirements, like the ability to explain a concept to a peer.
* Discussions are led by the teacher; this is the closest this curriculum gets to lecture-y teaching.
* Hints are what they sound like, as are Tools & References.
* Teachers only!: there's a teaching guide at http://bit.ly/int-railsbridge-guide