Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
You are to develop a web-based Course Management System (hereafter CMS) that deals with multiple academic years and their multiple deadlines, each consisting of 3 terms (Fall, Winter, Summer, in that order, that is, the Fall term starts an academic year).
Part 1: Designing/coding with patterns (50% of project grade) Your design and coding of this web-based system must appropriately use the following patterns:
The use of other design and architectural patterns is encouraged and will be taken into account in evaluating Part 2 of your project. More specifically, each use of a design or architectural pattern in your design and code will be rewarded if it is sufficiently motivated and explained.
In order to favor originality and thus differentiation between the submissions of different teams, we do not provide functional requirements for your CMS. You can consider the minimalist functional requirements of assignment 1 as a starting point, but we expect a lot more. Furthermore, given that the abovementioned design patterns will be introduced over several weeks, it is expected that you will have to frequently evolve your design in order to start using a relevant newly studied pattern. As per the agile manifesto, do aim for weekly working tested versions of your system. If running out of time, do less but do it and demo it well!
Do expect weekly deliverables, minimally consisting in an ever-evolving document that:
use of design and architectural patterns
week.
Further details wrt deliverables, peer evaluations and demos will follow throughout the term. Demos will take place April 13 through 15.
Average time expected working on the project each week per student: 8 hours
Learning objectives for Part 1:
COMP 3004B Project Requirements Winter 2021
Part 2: Designing/coding distinguishing features (50% of project grade) Provided you do address each of the 4 requirements of Part 1 satisfactorily in a web application, your mark will improve with each distinguishing feature you include in your project: (N.B.: features are NOT equally rewarded)
FYI: Spring MVC is a complete HTTP oriented MVC framework managed by the Spring Framework and based on Servlets. The most popular elements in it are classes annotated with @Controller, where you implement methods you can access using different HTTP requests. It has an equivalent @RestController to implement REST-based APIs. Spring bootis a utility for setting up applications quickly, offering an out of the box configuration in order to build Spring-powered applications. In other words, Spring MVC is a framework for web applications and Spring Boot is a Spring based production-ready project initializer. You might find useful visiting the Spring MVC tag wiki and the Spring Boot tag wiki.
Beyond your weekly team reports, your repository will be monitored on a weekly basis to verify the contribution of each team member to your implementation. To this end, each commit must:
Any expected lack of contribution should be communicated in advance to all team members and to me. Any perceived sustained and unexpected lack of contribution by a team member should be signaled as early as possible to me by the rest of the team. Non-contributors will be warned once before being removed from their team.
Be aware that part of the evaluation of your project will be comparative. That is, your design and implementation of a CMS will be compared to those of other teams. Also, please be aware that there is no correction grid for this project. The onus is on you to demonstrate that the functionality you implemented is adequately tested.
Learning objectives for Part 2: