Assignment 3#

Your Assignment 3 work should be done in the general assignment repo you accepted last week. If you haven’t yet accepted it, you can do so here.

Details#

Team member website… Continued

For the third assignment, you’ll be adding more functionality to your member website, now with Node and Express! It will build on the previous assignment, so start from your completed assignment 2, and begin to incorporate the requirements below.

Important Note: DO NOT use any type of Database. You will be penalized if you do.

  1. You MUST use Node AND Express, and start your assignment from your completed assignment 2. Remember, you will be asked to explain sections of your code.

  2. Store your initial member data as JSON on your server side. (You still don’t have a DB at this stage, so your web app will revert to this default list every time you restart your server.)

  3. The member data should be loaded using a GET request to your server when your web page loads.

  4. Ability to add a new member using a POST request.

  5. Ability to delete an individual member.

  6. Basic styling. (Do not spend too much time on this, and re-use as much as you’d like from Assignment 1! You will not be graded on Unit 1 material.)

  7. Something cool and extra! This is wide open for you to explore, and try to push your knowledge and boundaries. Must use Unit 3 technology to complete this requirement.

For example:

  • Ability to edit a member(PUT or PATCH)

  • Ability to fetch extra information when the member is clicked (not already fetched from server)

  • Ability to search/filter/sort when fetching (Searching/filtering/sorting on client side only does not fulfill this requirement.)

  • Support pagination of your data - add metadata to your response headers perhaps?

As described in the individual assignment rubric, your code will need to meet these requirements and be functional, up to perhaps a few minor glitches in tricky cases. Note that functionality includes both user-visible and console-visible issues.

It’s up to you! We’re hoping that you’ll use the above requirements as a guide, but that you’ll let your imagination take over, and build something unique and interesting!

You should be ready to demo this to a TA during your second week lab, and should be ready to answer questions about the technology, as well as explain what you’ve done.

HAVE FUN!!!

Grading Rubric#

You can see the grading rubric here:

Submission Instructions#

  • Your final code must be committed to an Assignment3 branch in a Github repo before the due date.

  • You will need to submit a link to your branch on Canvas before the due date.

Frequently Asked Questions#

  • This tutorial I followed already has a DB, can I just leave it in? No. Please remove it, and any DB-related code.

  • In assignment 2, I implemented delete and edit and search. Do I need to make sure they all work? No, you don’t need to keep all of the functionality from your previous assignments, as long as you’ve met the requirements for this assignment.

  • Do I still need to use React and Redux? Yes. Each of your assignments build on each other, so you need to continue to use all of the technology taught in class.