Skip to content

Instantly share code, notes, and snippets.

@omardelarosa
Last active December 19, 2015 06:19
Show Gist options
  • Save omardelarosa/5910212 to your computer and use it in GitHub Desktop.
Save omardelarosa/5910212 to your computer and use it in GitHub Desktop.
WDI5: This is the Project #2 description.

SECOND PROJECT DESCRIPTION

For the second 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 apply knowledge by building a web application from the ground up.
  • To demonstrate mastery of topics covered during this course.
  • Showcase your abilities to potential employers, friends, family, and community members.

NEW REQUIREMENTS

  • Test Drive It. Use TDD (test-driven development) to write tests as you go and then write the code to make tests pass.
  • JavaScript & jQuery. Spice up the front-end of your app and have some event driven functionality. Try out a new plugin or a library.
  • AJAX. Use AJAX to communicate with the server without reloading the page. Some things to consider might be validating or saving form input.

CORE REQUIREMENTS

  • Models. Your app should only have a few models to minimize complexity. 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.
  • Authentication. Your app will maintain user accounts and profiles. Login credentials must be validated before users can gain access to your application.
  • External APIs. Use an external API to add functionality to your app.
  • Heroku. Deploy your code to Heroku.
  • Ruby on Rails. Develop on the Ruby on Rails framework.

PLANNING & DELIVERABLES

Ideation deliverables:

  • Group members. We think you’ll learn the most if you work in groups of 2, but you may have groups of up to 3 or work alone.
  • Scope. What features will it have? What do you reasonably think you can implement in the time period?

Project plan deliverables:

  • Wireframes. Begin sketching out on paper what a few of your core pages will look like and how they will work. You may use Gliffy, OmniGraffle or another similar tool.
  • Milestones. Outline some milestones and user stories for yourself based on how you prefer to work using PivotalTracker.

Final project deliverables:

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

TIMELINE

  • 7/8 - Ideation deliverables due
  • 7/9 - Project plan presentation to class.
  • 7/15 - Final project deliverables due

WHAT WE ARE LOOKING FOR

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.
  • Your ability to take full advantage of a language’s features.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment