Homework for 10

Practice Project

Groups

Project Description

On the long and winding path to Bruscipleship, we've run into 3 major problems. First, someone lost the BruBible and we need to replace it. Second, there's no way to share awesome pictures with our other brus. Lastly, there's been a bunch of awesome tunes played around the iX house, but no place to keep track of it!

Your group can choose to help solve any of these problems by building any of the 3 apps below. For each, you will be given the basic requirements for the app, and a couple of ideas for possible extensions. You only have to build one of the 3 apps.

You should shoot for completing Option 2! If you think you have a pretty solid grasp of the concepts, try for Option 3. You will have until Tuesday to complete the app, as well as your teammates to help you.

Please refer to yesterday's explanation of Bootstrap in the Bonus Exercises if you want to Bootstrap your app.

Option 1: BruBible Beginner

MVP

Create an app that allows any worthy bru to contribute to the BruBible. At minimum, your app will need:

MODELS:

Think carefully about associations! How are Chapter and Verses related to each other?

ACTIONS:

VIEWS:

Optional Extensions

Option 2: BruGram Intermediate

MVP

Re-create an Instagram like web app to share pictures with your main brus! At minimum, your app will need:

MODELS:

ACTIONS:

VIEWS:

Optional Extensions

Option 3: BruTunes Advanced

MVP

Create an app to help us keep track of music.

MODELS:

Think carefully about associations! How are Artists and Albums related to each other? How are Albums and Songs related to each other? How are Artists and Songs related to each other?

ACTIONS:

VIEWS:

Optional Extensions

Working as a Group

You will be submitting this project via a new Github Repo (separate from your iXperience folder!). Each person will be required to submit their own code. If you want an extra challenge, you can work on a shared repository.

Pro-tip: If you're concerned about cluttering your Desktop or My Documents folder, create a separate folder called Github and put all your repositories inside of there. Then all your repos are in one place! DO NOT ever run git init inside this parent Github folder though -- you don't want to have a github repo inside of another github repo.

Turning Your Project In

Initialize a README.md with a description of your project, as well as any extensions you implemented. Have a section for challenges you ran into, and things you're proud of.

Have one person in your group create a public post on Piazza with the github repo links of everyone in the group, with the app name as the post title by Tuesday morning. We will be doing short presentations on Tuesday!