Skip to content

Latest commit

 

History

History
91 lines (69 loc) · 4.91 KB

project-01-requirements.md

File metadata and controls

91 lines (69 loc) · 4.91 KB

Project One

DESCRIPTION

It's time to put everything that you've learned in the past month together! For your first project you will build a full stack web application using Mongoose, Express, jQuery/AJAX, and Node.js.

The objective of this project is to:

  • Apply the skills you've learned by building a web application from the ground up.
  • 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!

CORE REQUIREMENTS

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

  • Express API Build an Express Application that has both HTML and JSON API endpoints.
  • RESTful Routes Design your CRUD routes using the REST convention.
  • AJAX Leverage AJAX to fetch JSON data from the backend.
  • jQuery Use jQuery to add interactivity and render data on the client-side.
  • Data Validation Validate data by handling incorrect form inputs during create/update.
  • MongoDB Persist at least three models to a Mongo Database. Use at least one one-to-many or many-to-many relationship between models.
  • Git 70+ commits. Commit early, commit often. Tell a story with your commits. (And don't expose any secret keys/tokens on github!)
  • Visual Design Use Twitter Bootstrap, Foundation, or another CSS framework to make your front-end snazzy. First impressions matter!
  • Heroku Deploy your code to Heroku!
  • Documentation Write a README.md that would make an employer excited to hire you. Screenshots are encouraged.

CHALLENGE ADD-ONS

If you want to push yourself and learn something new, optionally consider doing some of the following with your app, but please talk to an instructor beforehand:

  • Templating Render the JSON data on the frontend using handlebars templates.
  • External API Use an external API to integrate rich data into your app.
  • Authentication Enable users to signup, login, and logout.
  • Sass Use a CSS pre-compiler to write more imperative CSS.
  • Whatever else inspires you!

TIMELINE

DO NOT START CODING UNTIL YOU ARE APPROVED

  • Thursday, Dec 10th by noon - Communicate your app idea to your lead instructor. Be ready to talk about the scope of your project. Before beginning work on your project, your project idea and the scope of your project must be checked-off by an instructor. You will need the following for an instructor check-off ():
    • A clearly defined Minimum Viable Product (MVP). What can you reasonably accomplish in a week?
    • Wireframes for every page
    • User Stories (divided into Sprints) - we recommend Trello for project tracking
    • Database Models (draw an Entity Relationship Diagram)
    • A project-01 Github Repo with tgaff, justincastilla and nathanallen added as collaborators.
  • Weekdays, Dec 14-16th - Standups @ 10am. Afternoon 1:1s with instructors (optional).
  • Thursday, Dec 17th - Feature Freeze! Deploy your code to Heroku, and start polishing existing features. Finalize your README.md and prepare for presentations.
  • Friday, Dec 18th @ 10am - Project due and presentations!

WHAT WE ARE LOOKING FOR

Code must follow the Airbnb Javascript Styleguide.

####Code must be...

  • Clean (no unused or commented-out code!)
  • Modular
  • Well organized
  • DRY
  • Frequently committed
  • Properly indented
  • Sparsely Commented
    • Prefer a well named variable or function to a comment

Additional Considerations

  • Were you mindful about balancing your own resourcefulness with seeking help when necessary?
  • Did you create a project README, illustrate wireframes, write user stories, etc?
  • Can you defend why you chose a certain technology or why you implemented your solution in a certain way as opposed to the other options?

ACCESS TO INSTRUCTORS

We will a schedule for 1:1s throughout the week. We will also do mini lessons on certain topics if we notice that several people are running into the same issues.

##FINAL DELIVERABLES

  • Completion of the core requirements
  • A link to your website hosted on Heroku
  • A link to your source code on GitHub
  • A README.md file that serves as your project documentation (this is important, do it please!)
  • A brief presentation, in the company of friends, illustrating:
    • Triumphs
    • Challenges
    • Words of Wisdom
    • And 3 lines(!) of code you want to share with your classmates, copied into a seperate document.

Presentation Tips

  • Please zoom your browser window to 150%.
  • Please set your SublimeText font to at least 20.0 pixels.
  • And speak up!

###HAPPY CODING :)