-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into lab-instructions
- Loading branch information
Showing
7 changed files
with
146 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
# 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 2.0** | ||
|
||
For the second assignment, you’ll be essentially re-creating your assignment 1, but this time with React & Redux! The requirements are slightly different, and you may use as much of your assignment 1 code as you would like, or create something new if you’re feeling adventurous. | ||
|
||
We’re expecting the following: | ||
|
||
|
||
1. You MUST use React & Redux, and start your assignment with the Vite boilerplate code (see Workshop 2 slides). Remember, you will be asked to explain sections of your code. | ||
|
||
1. A form with multiple inputs, to take in a member name, description, age (or other numerical category), and image, as well as a button to add the member to a list, and a button to clear the inputs in the form. | ||
|
||
1. Some pre-loaded member list data to initialize your reducer. | ||
|
||
1. Display a list of members that contains the member name and image (the list should be updated with a new item whenever you click the add button). | ||
|
||
1. *NEW* INDIVIDUAL/DETAILED ITEM VIEW - The ability to select a member to view in a dialog or popup.The goal here is for this “detail” view to know which member was selected, and show the description and age for that item. The detailed view MUST be its own React component. | ||
|
||
1. 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.) | ||
|
||
1. Something cool and extra! This is wide open for you to explore, and try to push your knowledge and boundaries. Must use Unit 2 technology (React & Redux) to complete this requirement. | ||
|
||
### Basic Examples | ||
|
||
- you could have individual buttons for each member that will allow you to delete them (a button with an X or that says delete) | ||
- you could have additional form elements that add additional data for each member | ||
|
||
```{warning} | ||
**Note for Implementation:** DO NOT try to take your assignment 1 code, and re-shape it into React components. Instead, start with the Vite boilerplate, and think about how you would organize your component structure. Begin to create those components, and then copy over pieces of your assignment 1 code as needed. Remember that rendering the view is handled much differently in React. If you find yourself needing to use HTML DOM functions (e.g. `document.getElementById`, or `appendChild`), then STOP, and try to think of the "React" way to do the same thing. | ||
``` | ||
|
||
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 it, 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 `Assignment2` 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 | ||
|
||
- **Can I use MaterialUI, Sass, other styling tools?** Yes, it will not count towards your assignment grade, so do not put too much effort into styling. Do NOT use pre-built React components. (That goes beyond styling.) | ||
|
||
- **Can I use pre-built React components such as a datePicker or React Dialog or Modal?** | ||
No - do not import any React components. You need to write all your components from scratch for the assignment. You are allowed to import pre-built React components for your project. | ||
|
||
- **For my “extra feature”, can I add some cool animations?** | ||
Sorry, no - The “extra feature” MUST display your technical abilities in React & Redux, so features involving styling won’t count. | ||
|
||
- **Can I follow a React or Redux Tutorial?** | ||
Yes! Please do. If you are using code from the tutorial, you MUST write a comment with a link to the tutorial. You also must be able to explain all and any parts of the code. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Workshop 2: Saturday May 25, 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-2 channel. | ||
|
||
1. Go to codesandbox.io and create an account | ||
2. Create a Sandbox or click on the +Sandbox in your dashboard | ||
3. Select React | ||
|
||
That's it ! | ||
|
||
## Technical Content slides | ||
|
||
<div> | ||
<iframe src="https://docs.google.com/presentation/d/e/2PACX-1vQ7snQSguwQRYDmRvqm0i_vnMkXle57LnVtHg9yVM4hLkc8CARqz_6VbYktBy7OihPERYbUL4J0wynh/embed?start=false&loop=false&delayms=3000" frameborder="0" width="100%" height="600px" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Progress 2 | ||
|
||
## First steps | ||
|
||
Set up your project with React. Use Vite to set up a React project following the instructions in Workshop 2. Once the boilerplate code has been set up, do an initial push to your project repo that you have set up with your group. It could take some git gymnastics to make it work. Make sure your README does not get overwritten! (Or copy it over to a new repo) | ||
|
||
|
||
## Project Requirements: | ||
|
||
Must be completed with your group before Workshop 3. | ||
|
||
- Begin to flesh out the **component structure** of your app, focusing on one key task. <u>For now, you will start with the view, and don’t have to worry about the functional aspects</u>. | ||
- Create a **component** for the main “item” in your app and display it (e.g. recipe, song listing, posting, event) _Note: If you don’t have a main “item” in your app, then pick an aspect to focus on + really develop the UI for it._ | ||
|
||
- Add effective **styling** for this “main item”. Try to “complete” a piece of your prototypes. | ||
- In total, have a minimum of **5 components** other than App.js. (One of them will be your “main item” mentioned above.) | ||
|
||
- Finally, be able to demonstrate that you have made progress toward completing one (or some) of your minimal goal(s)! | ||
|
||
- [OPTIONAL] Begin to add Redux setup to your app. | ||
|
||
**Note:** You may certainly borrow code from your assignment, but make sure you’re showing us new code that you’ve written specifically for your project! | ||
|
||
**Remember:** These requirements are __very__ **minimal** and are here to make sure that you are making forward progress on the project. We encourage you to make progress beyond the requirements in order to create an awesome project! | ||
|
||
## How to hand in: | ||
When you are ready, create a branch titled “project_2”. Push your finalized code to that branch. Do not push to this branch after 10AM PT on June 8th (beginning of Workshop 3). |