Welcome, Guest User :: Click here to login

Logo 67272

67-272 :: Phase 2: Models and Unit Testing

This phase we will continue our project to develop a foundation for the Baking Factory system. In this phase we will focus our efforts on building out the models for the three entities given to you in the first ERD and adding all necessary business logic. In addition, you will have to write unit tests for all models. This phase will constitute 7 percent of your final course grade and is broken down into the following three components:

  1. Creation of Models: Models for the entities listed in the first ERD below and handed out in class need to be created. Below you are given a spec sheet to essential methods each model must have; those methods have to be fully implemented. The project must be using Rails 5.1.6.x and Ruby 2.4.x.

  2. Unit Testing: Unit tests for all methods in all models must be written and fully passing. We will check to make sure there is 100 percent code coverage for unit tests using the simplecov gem used in class and in lab. Because simplecov does suffer from some false positives (as mentioned in class) we may spot check tests to make sure certain tests were included. Only the models in this phase need complete coverage. There are steep penalties for less than 100 percent coverage and no credit at all for less than 90 percent coverage.

  3. Coding Style: All code must be appropriately organized. What that means at this stage is the following: Related or similar functionality is grouped or clustered together. Indentation should be used consistently to make code readable. Comments showing organization should be present and explaining difficult code should be used when/if necessary.

Your project will be turned in via git -- at 11:59pm on Sunday, February 17, 2019, we will get a copy of your files in your remote git repository on darkknight-cmuis.net. We will publish instructions on how to access your remote repository, but you should try to access your remote repository early in this phase; if you have not posted any code to the remote repository a week before the due date and run into access issues in the last few days of the project there will not be much grace given and you can expect a stiff grade penalty. The solution for this phase will be released on the next day -- no late assignments will be accepted after solutions are released.

Again, if you have questions regarding the turn-in of this project or problems downloading any of the materials below, please post them on Piazza or ask someone well in advance of the turn-in date. Waiting until the day before it is due to get help is unwise -- you risk not getting a timely response that close to the deadline and will not be given an extension because of such an error.

Additional Information and Supporting Materials:

ERD for Phase 2
Model Specifications for Phase 2
Database Design for Phase 2
Data Dictionary for Phase 2
Instructions for Accessing Remote Repositories


Due Date: February 17, 2019

Weight: 7.0