10/15/2013 - 10:29 PM

#WDI - Project 1


It's time to put everything that you've learned in the past month together! For the first project you will use your knowledge of front and back-end web development to produce an awesome web application that can be used by friends, family or any of the other billions of people who use the Internet. The type of web application you create is your choice.

The objective of this project is to:

  • To pull everything together by building a web application from the ground up.
  • To demonstrate mastery of topics covered during this course so far.

You will be working individually for this first project. Show us what you've got!


Make sure to do all of the following with your app.

  • Test It. You must include tests for your code written in RSpec or TestUnit. Use TDD as you are developing your app.
  • Models. Your app should have at least 2 models. Make sure they are associated correctly!
  • Views. Use partials to DRY (Don’t Repeat Yourself) up your views.
  • Handles invalid data. Forms in your application should validate data and handle incorrect inputs. Validate sign up information, verify valid email addresses and secure passwords.
  • External APIs. Use an external API to add functionality to your app.
  • Heroku. Deploy your code to Heroku. We will be covering this early next week.


If you want to push yourself and learn something new, optionally consider doing some of the following with your app.

  • Front-end Framework. Use either Twitter Bootstrap or Foundation to kick start your front-end.
  • File upload. Take a look at carrierwave and AWS/S3.
  • Web Scraping. Check out Nokogiri.


####Project Plan deliverables:

  • Scope. What are you planning to build? What features will it have? What do you reasonably think you can implement in the time period?
  • Wireframes. Sketch out what a few of your core pages will look like and how they will work. Paper works great. You can also check out wireframing software like Gliffy or Omnigraffle.
  • Object Models. Draw out the model associations for your project.
  • Milestones. Outline some milestones for yourself based on how you prefer to work.

####Completed Project deliverables:

  • Link to Heroku hosted project
  • Link to source code on GitHub


  • Friday, October 25, 2013, 9:00 AM. (Week 5, Friday) - Completed project deliverables due


Make sure that your code is:

  • Dynamic
  • Flexible/extensible
  • Well-commented
  • Well-formatted
  • Follows naming conventions

We’ll also be looking at:

  • Quality of communication around decision-making. Can you defend why you chose a certain technology or why you implemented your solution in a certain way?
  • Your ability to pick up new technologies and push yourself.