Lab Assignment #3 – Designing and implementing a complete web app using MEAN stack
Due Date: Week 9.
Purpose: The purpose of this homework is to:
- Build an Express Rest API
- Build an Angular 2 MVC front end that utilizes Express rest API
- Perform CRUD operations
References: Read the textbook, lecture slides, and class examples. This material provides the necessary information that you need to complete the exercises.
Requirements:
- – This assignment must be completed using the pair programming technique – two students will work togather . Find a classmate who you can work with. (https://en.wikipedia.org/wiki/Pair_programming).
- Show your app working in class
- Submission
- Create a ZIP file with your project files without node_module folder
- Give the zip file name YourFullName_comp308_Lab3.zip
- Upload to dropbox before the end of week-9 class
Statement of work
Create an Express Rest API which exposes CRUD functionalities for a student/course system. Create a student model which describes student information (student number, password, first name, last name, address, city, phone number, email, program) and also a course model which describes course information (course code, course name, section, semester). The information should be stored in a MongoDB database. Provide authentication capabilities using Passport – local strategy.
Create an Angular 2 MVC front end that allows students to login, add a course, drop a course, and list all the courses.
Apply MVC principles. Design nice and friendly web pages.
You may use class example as your seed/base project.
Evaluation Criteria
Approach-1. If you modified example code and made it work with above requirements the marks breakdown will be as follows
[a] Basic working – max 70%
[b] Item [a] + UI updates- e.g buttons, layout, colors – max 80%
[c] Item [b] + error handling, any bug finding and fixing, code optimization – eg. do not allow same course more than once, noticable improvements – max 90%
[d] Item [c] + some wow factor – max 100%
Approach-2. If you did not use the example code at all, the marks breakdown will be as follows
MongoDB database 10%
Express Rest API 40%
Angular 2 MVC 35%
Friendliness: 10%
Innovation: 5%
Total: 100%