#OOTD ###Author: goodbedford ###DATE:project 2015
##Special Thanks I would like to thank my instructors, classmates and my wife for all the help and support. This was my first official project at General Assembly Web Development Immersive Program.
##OOTD is an acronym for Outfit Of The Day. http://ootd-demo.herokuapp.com/
Project was to make an API using Node and Express. The Idea is to grab images from Instragram API then give users the ability to save their favorite Outfits by a few different catorgories. The User can save Outfits, Tops, Legs, Shoes and Pieces.
I had a lot of fun making this project and got to use the following tools.
##JAVASCRIPT STACK *HTML - document structure *JAVASCRIPT - dom manipulation *CSS - styling *NODE - server *EXPRESS - server framework *MONGO - database *MONGOOSE -database model framework *MOCHA - testing *CHAI - testing *REQUEST - http request/testing *BCRYPT - making salt *EXPRESS-SESSION - middleware *BODY-PARSER - http request parsing *CORS - cross origin *UNDERSCORE - template/utilities *JQUERY - dom manipulation *BOOTSTRAP - css style guide *INSTAGRAM API - image api *HEROKU - cloud hosting *SLACK - team communication application *Trello - project planning application *SUBLIME TEXT - text editor *MARKDOWN - slick text to html converter syntax *NODE REPL - node read evaluate print loop *MEET UP: node school oakland - host in oakland http://nodeschool.io/oakland/ *MEET UP: node school sf - hosted in sf *MEET UP: html5 sf
##CORE REQUIREMENTS Express API Implement a server-side JSON API with Express. RESTful Routes Design the routes in a RESTful manner. MongoDB Persist at least two models in a Mongo Database. AJAX Leverage your server-side API to fetch JSON asynchronously to the client-side. jQuery Use jQuery to manipulate the DOM and/or data on the client-side. Templating Render the JSON data on the client-side using underscore templates. Testing Write request tests for 50% of your app's API routes. Authentication Enable users to sign up, log in, and log out. Data Validation Validate data by handling incorrect inputs during sign up, such as unique email addresses and minimum password lengths. Model Relationship Create a has_many relationship between the User and another model using either embedded or referenced data. Visual Design Use Bootstrap to kick-start your UI and UX. Heroku Deploy your app to Heroku. Ensure no app secrets are exposed. Do not commit secret keys to Github!