Final Project
Important !
Counts for 20% of the final grade.
Due at end-of-day, December 12th | NO EXTENSIONS
Students will divide into teams of 5 students. Projects must be completed as a team with a link to the project repository on GitHub. To receive a favourable grade, teams must demonstrate that they have an understanding of Sass, Bootstrap, jQuery, Gulp, and Git. Teams also must show that they used collaboration tools during development and that every member of the team participated in the planning and development of the project.
The team should leverage the Bootstrap SaaS files via NPM and apply their own style overrides.
WARNING
DO NOT use a thrid party (free or paid) pre-styled CSS theme.
Doing so, will result in a grade of ZERO.
The brief
We will be building an informational website about the IMD program. The final project should be hosted on GitHub Pages.
The site will provide:
- a program overview
- a class schedule for all sections in the current semester
- (x3) a detailed page describing a particular course, the topics covered, the professor, and the grading
- (x3) a detailed page describing a particuler professor, their contact information and the courses taught
Each team should include detail pages for at least 3 courses and at least 3 professors. Try to include more informative details than what is currently included on the public website. You might consult the detailed week by week topic outline, and evaluation plans for each course.
What would you have wanted to know before you signed-up for this program?
Evaluation Criteria
Graded out of a maximum score of 108 points.
Rubric | 9 | 7 | 4 | 0 |
---|---|---|---|---|
GitHub Pages | Final version publicly available at github.io | Correctly created GitHub Pages repo, but did not merge content into master branch, or content is located is another public sub-folder. | Did not correctly create the GitHub Pages repo, or content is located in a non-publishable sub-folder. | Did not use GitHub Pages for hosting. |
Used Git to manage development | All team members had a separate dev branch. No edit done directly on the master branch. Useful commit messages. Detailed task breakdown in GitHub Issues. | Most team members had a separate dev branch, or some minor edits done directly on the master branch, or poorly constructed commit messages. At least one task in GiHub issues assigned to each team member. | All work done on one branch or used GitHub’s “upload files” instead of pushing commits from local repo. GitHub issues task list missing or tasks not assigned, or tasks too high level. | Did not use Git at all. |
NPM | Project includes a correctly formatted package.json file with relevant dependancies | Project includes unused or irrelevant dependancies | Project does not include minimum dependancies for Gulp and Sass | No package.json file |
Gulp | Project includes a valid gulfile.js with all of the expected plugins. | Project’s gulpfile.js has runtime errors, or is missing PostCSS plugins. | Gulpfile has no Sass compiler task | No gulpfile.js file |
Gulp Sass | Correctly uses compiled and minified CSS | Uses compiled CSS, but not minified CSS, or loading both versions. | Compiled CSS created but not used. | CSS not compiled from Sass |
Saas | Source code demonstrates at least 3 Sass optimizations in the styling markup | Source code demonstrates at least one Sass optimization in the styling markup | Source code includes a Sass file but contains only plain CSS | No Sass source file. |
Bootstrap | Bootstrap customized in Sass source, or bootstrap classes used to extend the properties of other custom classes. | Bootstrap included in Sass source, or bootstrap loaded from CDN and some use of bootstrap classes in HTML markup. | Bootstrap loaded but no bootstrap features used in HTML markup code. | Did not use Bootstrap. |
Conforms to requirements | Consistent with project requirements and written proposal (as may have been amended). | Minor change from proposal, with one or two planned content elements are missing. | Significant change from proposal, or numerous planned content elements are missing. | Completely out of scope. |
Responsive Design | Fully repsonsive | Somewhat responsive, but not all content is properly resized or reflowed. | Visible but not practically usable at all viewport sizes | Not responsive at all. |
Design | Clean, professional, modern design that clearly conveys the purpose of the site. | Some optimization of sizing or spacing of elements would improve usability and professional look. | Content is not organized intuitively, is very difficult to read, or the purpose of the site is not easily understood. | Visually unappealing or virtually unusable due to colour scheme or font sizing, etc . |
Production Ready | Everything is complete and works as expected. | Minor content editing or formatting tweaks required | Some nonfunctional elements or broken links. Minor HTML validation errors. | Significant amount of missing / broken content, or large number of javascript or HTML validation errors. |
Code Quality | Clean, readable, well organized and commented. | Some minor code formatting issues, but generally understandable. | Not well formatted. Difficult to read and understand. | Malformed, invalid code causing runtime or rendering errors. |