Skip to content

Fall 2025 updates#41

Merged
benjaminJohnson2204 merged 5 commits into
mainfrom
fa25-updates
Nov 9, 2025
Merged

Fall 2025 updates#41
benjaminJohnson2204 merged 5 commits into
mainfrom
fa25-updates

Conversation

@benjaminJohnson2204

Copy link
Copy Markdown
Contributor

Various improvements for Fall 2025:

  • Update linters to ESLint v9, and fix any errors caught by new rules
    • Purpose: keep our tech up to date and in line with what devs/EMs will use in their new projects this year
  • Update React and other libraries to newest versions (e.g. React 19 instead of 18), as well as any associated updates (e.g. react-helmet-async is no longer necessary)
    • Purpose: keep our tech up to date and enable using Constellation, which depends on React 19
  • Add Constellation as a dependency, and use its Dialog component to display error messages, as well as adding a section about Constellation in the docs
    • Purpose: teach devs how to use Constellation so they're more prepared to use it and save time in their projects
  • Add instructions about submitting video of completion to EM in intro & conclusion docs
  • Update time estimates to be more realistic, since devs have reported spending more time than the estimates in the past
  • Add some troubleshooting tips for commonly seen past errors (e.g. unit tests not working after adding updateTask, cURL not working on Windows, using React hooks incorrectly)
  • Add backend flow diagrams to parts 0.3 and 1.1 to show how the Express routes/controllers/validators/models work together; hopefully this helps devs get a conceptual high-level overview of the backend code, since it can be a lot of files whose purpose may not be immediately clear
  • Add tutorial on using browser dev tools to part 1.1 because dev tools are super helpful when debugging HTTP requests/responses, and I don't think most devs learn how to use them, but they should!

In reviewing this, would appreciate double-checking for typos, unclear instructions, or anything breaking when running through the tutorial E2E (if yall have time). Thanks!

@benjaminJohnson2204 benjaminJohnson2204 merged commit 799457b into main Nov 9, 2025
3 checks passed
@benjaminJohnson2204 benjaminJohnson2204 deleted the fa25-updates branch November 9, 2025 20:51
@benjaminJohnson2204

Copy link
Copy Markdown
Contributor Author

@eshaan-s18 @yxli001 merging this now so we have it for orientation, if you guys find any issues lmk and I'll fix in a follow-up PR

@eshaan-s18

Copy link
Copy Markdown

@benjaminJohnson2204 I checked for typos and unclear instructions, everything LGTM. I went over the code a little bit and so far it LGTM, I'll plan to run through the tutorial E2E when I get some time

10. Add some CSS classes to `TaskList.module.css` and add the corresponding `className` props to `TaskList.tsx`.
1. We need one class for the list title, which uses the heading font. This works similarly to the title and description classes from `TaskItem`.
2. We need another class for the inner `<div>`, which is the item container. Use flexbox again to align its children: column direction, horizontally stretched. The item container itself should also have `width: 100%`.
3. Finally, we need a class for the outermost list container `<div>`. This just needs a top margin of 3rem.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would also add to add a class for .errorModalText to override the text color so it doesn't show white text on a white background. TaskForm.module.css has an example on how to do this

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok so for this file there were a couple things I noticed:

  1. for the PUT api route sections 3 and 4, i think eslint is more strict now about unsafe assignment of an any value, so I had to make an UpdateTaskBody object type similar to CreateTaskBody to fix this issue. maybe this will be worth mentioning in the instructions. when i did the onboarding repo 2 years ago i didnt have this problem but i think eslint might be more strict now. lmk if im wrong tho
  2. For TaskItem section 3 when we say to do alert() if it failed, eslint doesnt like using alert I dont think so it tells me to either do console.error() or a custom alert. Maybe we can use Constellation Dialog here?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this comment is for 2.3 so not this file:
For the update to component TaskForm section:
For the part about updating the third test to use the correct mock. I also noticed that we have to update expect(updateTask).toHaveBeenCalledWith({ because the component expects more fields than just title and description for update. I might be wrong with my implementation so lmk if I'm wrong. If this is the case though maybe we can add to update toHaveBeenCalledWith with the necessary fields for the test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants