Skip to content

Requirements

missybarringer edited this page May 2, 2019 · 1 revision

Project Requirements

This document outlines the base requirements for Project 2.

Requirements

Your project must:

  • Use a Node and Express Web Server;

  • Be backed by a MySQL Database an ORM (not necessarily Sequelize);

  • Have both GET and POST routes for retrieving and adding new data;

  • Be deployed using Heroku (with Data);

  • Utilize at least one new library, package, or technology that we haven’t discussed;

  • Have a polished frontend / UI;

  • Have folder structure that meets MVC Paradigm;

  • Meet good quality coding standards (indentation, scoping, naming).

  • Must not expose sensitive API key information on the server, see Protecting-API-Keys-In-Node.md

Unit 16 - Project Suggestions

Overview

Since projects are being worked on this unit, you won't have a homework assignment, but a project is a perfect context in which to practice writing tests!

Incorporate a few of the below suggestions into your project. You'll write better code, and it will help you consolidate your testing habits.


Testing Suggestions

  • Set up Karma so you can run your tests as you develop.

  • Prior to implementing a feature, use Nightmare to write a functional test for it.

  • Prior to implementing a function, use Mocha and Chai to write unit tests against it.

  • Run your tests prior to committing your code so you can be sure nothing breaks between commits.

  • Non-Obligatory Bonus: If you're confident and feel like you have some time to tinker, set up Travis CI. This will automatically run your tests whenever you or any of your team members makes a commit.

Clone this wiki locally