Homework for 10B

Review

Topics covered: Layouts, partials review; creating HABTM relationship


Exercises

Catch up (if needed)

Make sure you're caught up to exercises 10A (adding Devise to your Reddit app).

And so it begins

You've spent the past few weeks training hard to sharpen your skills in Ruby and Rails. Now it's time to apply your skills and create a real app.

This weekend's homework is in two steps:

  1. Join a group of 2 or 3 students (by Saturday 11:59pm)
  2. Write up two final project proposals (by Monday 10:00am)

Let's get started.

Who are you working with?

You'll be working pretty closely with your partner(s) over the next few weeks, so put some thought into who you choose. It might not necessarily be just your best friend in the program: you might distract each other, or not work well together though you get along well. Consider picking teammates who have complimentary skillsets, or are interested in similar issues. You might want to put some thought into the next part before finalizing your group. Have one person from your group email salman@ixperience.co.za and rafi@ixperience.co.za with the members of your group by Saturday at 11:59pm.

What are you building?

Before your group dives right in, you first need to spend some time thinking about exactly what it is you want to build. This step is extremely important. You're going to be spending the next two or so weeks (possibly longer) working on this project. You want to be sure it's something you are passionate about, otherwise all that work will seem laborious rather than exciting.

We want you to think about the problems in your life, or about the problems in the lives of those you care about. There are so many ways in which we can make the lives of ten, a thousand, or a million people's lives better, easier, less painful, healthier, and on and on. But before we get to that scale, we first need to start by thinking about two things:

The Proposal

We'll build up your project proposal over the next few days to include model/controller/view designs, user stories, mockups, and several other things. For now, we want to focus on three of the steps that were introduced on Day 1:

  1. Inspiration: what problem does your app solve?
  2. Users: who will use your application, and why?
  3. Market: what already exists for this problem and/or these users, and why is your app better?

For your submission, follow this outline. We'd recommend using a Google doc so you can work together with your group. Share that doc with salman@ixperience.co.za and rafi@ixperience.co.za by Monday at 10:00am. Remember that you should do this for TWO different ideas!

  1. A "codename" for your product. Your codename might not have anything to do with your functionality or mission, but it will not change even if your project does. It can be anything, just not ix_final_project.
  2. All of the members in your group.
  3. In one-two sentences, what your product does and what problem it solves. It should primarily be a Ruby on Rails application. We want you to keep this short so you have practice succinctly stating your idea.
  4. Create 3 unique user personas for people that would use your app (and get value out of it). A user persona is a fictional person who has the problem you're trying solve, and might use your application to solve it. More about personas on Wikipedia.
  5. A list of existing, similar products that solve this problem and why your app is better.
  6. A features list that has the minimum number of features for the personas to reach their goals (a minimum viable product or MVP). For Twitter, the minimum feature list might be:
    • Create a user account
    • Create tweets
    • Follow other users, and see their tweets