diff --git a/_toc.yml b/_toc.yml index dd1da3d..feb3fd0 100755 --- a/_toc.yml +++ b/_toc.yml @@ -29,6 +29,13 @@ parts: - file: notes/part02/lab02A - file: notes/part02/lab02B +- caption: Part 3 - Node + maxdepth: 1 + chapters: + - file: notes/part03/workshop03 + title: Workshop 3 + - file: notes/part03/assignment03 + - caption: Course Project chapters: - file: notes/project/team_formation diff --git a/notes/part03/assignment03.md b/notes/part03/assignment03.md new file mode 100644 index 0000000..37eaa29 --- /dev/null +++ b/notes/part03/assignment03.md @@ -0,0 +1,65 @@ +# Assignment 2 + +Your Assignment 2 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](https://classroom.github.com/a/aS7pjGjo). + +## 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 initial 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](page_rubric): + +## 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. diff --git a/notes/part03/workship03.md b/notes/part03/workship03.md new file mode 100644 index 0000000..be610d8 --- /dev/null +++ b/notes/part03/workship03.md @@ -0,0 +1,23 @@ +# Workshop 3: Saturday June 8, 2024 + +Below are the slides from today's class embedded and [linked here](). + +## Pre-Workshop Tasks + +Your pre-workshop work will ensure that you’re set up for our in-class activities this Saturday! It should take about 5 minutes (or less), and if you do get stuck, ask your TAs in lab, or post in the #workshop-3 channel. + +1. Install node if you haven’t already. You should already have it though. +2. Create a new folder for your backend server and cd into it, run `npx express-generator --no-view` +3. This will setup a basic express application that we will work from during the workshop. +4. Run an `npm install && npm run start` to start the express application. +5. Navigate to `http://localhost:3000` to ensure that it is running. +6. (Optional) Install Postman +7. (Optional) Familiarize yourself with this repo. This will be the frontend that will be used during class. + +That's it ! + +## Technical Content slides + +
+ +