- Express API Implemented a backend API Express that serves up an html page(s) and a JSON API.
- RESTful Routes Design the routes in a RESTful manner.
- MongoDB Persist at least two models in a Mongo Database.
- AJAX Leverage the backend API to fetch JSON asynchronously to the client.
- jQuery Use jQuery to manipulate the DOM and/or data on the client-side.
- Templating Render the JSON data on the frontend using underscore templates.
- Authentication Enable users to signup, login, and logout.
- 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 Twitter Bootstrap, Foundation, or another CSS framework to kick-start your front-end.
- Heroku Deploy your code to Heroku. Notes on that here.
- Ensure no app secrets are exposed. Do not commit secret keys to Github! Notes on that here.
- External API Use an external API to integrate rich data into your app.
- Authorization Disallow users from CRUDing content in other users' profiles. Ie a user should not be able to delete a post if it is not theirs.
- Sass Use a CSS pre-compiler to write more imperative CSS.
- Web Sockets - Use Socket.io to have real time behavior in your app.
- Web Scraping If necessary, collect data directly from a website that doesn't have an API. Examples technologies include Casper or Kimono.
- Whatever else you can think of!
- 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
- A presentation illustrating:
- What is your project and what does it do?
- What was your motivation to build it?
- What are you proud of?
- What would you do with more time?
- What aspect presented the most challenges?