Assumptions made by this curriculum
- You’ve gone through the standard RailsBridge installfest and have successfully completed the Get a Sticker step.
- You’ve gone through the RailsBridge Suggestotron curriculum and the Job Board curriculum 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