Every bru needs a place to keep track of all his or her favorite things. Today we'll be recreating Pinterest! First, git clone
the PinterestingBru repository from Github to get started. A few things are already filled in for you.
Create an app using authentication with either Devise and/or Omniauth Facebook, that will allow a user to log in to their account and add pins to boards.
Think carefully about the relationship between a user, board, and pin. What is the relationship between a user and a board? A board and a pin? A user and a pin? A user should have many boards, and should have many pins through a board. A board should have and belong to many pins. Play around with Pinterest or ask a friend if you're not sure how Pinterest works. Think about what attributes each of these models will need.
In addition to the login/signup views, make sure the user can CRUD boards and CRUD pins. Allow any logged in user to view all public boards. Note that it is important that users should not be able to CRUD other user's boards and pins. To do this, you will need to first check if the current user is the same as a board's user. Think about where and how you want to do this.
Lastly, install Bootstrap into the app, and play around with how it looks.
The following features are completely optional, and should be implemented if you've finished both parts early.
We're live folks! Make sure to seed your database with values (at least 3 Users, 3 boards per User, 3 pins per board). Then push the Pinteresting Bru to Heroku.
We're officially starting final projects! A week and a half from now, you will be presenting these. Exciting right?
Pick a partner and go through the ideation process Aaron introduced last week. Groups of 3 are ok, but we believe that a group of 2 is the most ideal. If you really want to work in a group of 3, you will need to get your group approved by Brian.
In your group, come up with ideas for web apps that have the potential to make a real impact on social issues in South Africa. Generate at least 7 ideas for tomorrow. Use yesterday's trip to the township as inspiration.