Final Project

For the final project, you will develop a single page application with Ember and ember-cli-mirage on a topic of your choice. Here are the project requirements:

  • At least 4 routes
  • At least 1 GET, 1 POST, 1 PUT or PATCH, and 1 DELETE AJAX request. You don’t have to use Ember Data, but it is highly recommended.
  • Use of Ember’s loading and error substates. Change the timing property in Mirage to 1000 milliseconds so that I can easily see the loading states of your app.
  • Form validation
  • At least 1 reusable component
  • Each page has a unique title using ember-cli-document-title
  • Use of at least 1 addon of your choice that isn’t one of the ones listed in these requirements
  • 5 practical acceptance tests
  • 5 practical integration (component) tests
  • Cleanly formatted code. Don’t just make the code work. Make it also easy to read. This includes proper indentation, consistent casing (camelCase is the JavaScript convention), consistent spacing, and readable variable and function names.
  • Your project should be styled so that it presents a good user experience and looks organized and professional. You are welcome to use libraries like Bootstrap.
  • Deployed to Surge.sh with ember-cli-surge
  • Travis CI integration with all tests passing and a status badge on your project’s README

Projects will be graded based on overall complexity and user experience.

Some addons you may want to consider using include:

Explore more addons on Ember Observer.

Submission

Send a single email to the TA and myself on the project due date containing the following:

  • A link to your Ember repo on Github
  • The URL to your deployed Ember app on Surge
  • A YouTube link to a screencast where you demo your project and explain where you fulfilled each requirement. This video should have audio. Please keep this video under 10 minutes.