Skip to content

Conversation

@ambers7
Copy link
Contributor

@ambers7 ambers7 commented Oct 3, 2025

Summary

Created the backend for storing, reading, and updating a user's onboarding status (if they have completed it or not).
This pull request is the first step towards implementing user onboarding when they first download CornellGO.

Test Plan

  • Manual database testing (done): run backend locally (npm run start:dev)
  • When onboarding frontend is done check the values of hasCompletedOnboarding for when they finish the onboarding, and when they decide to redo the onboarding.

Breaking Changes

  • Database schema change (added hasCompletedOnboarding to User)

@dti-github-bot
Copy link
Member

dti-github-bot commented Oct 3, 2025

[diff-counting] Significant lines: 479.

Copy link
Contributor

@jiminkim214 jiminkim214 left a comment

Choose a reason for hiding this comment

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

Great work! The onboarding status logic and DTO additions are cleanly integrated. I'm wondering if there any potential migration concerns for existing users regarding the new hasCompletedOnboarding field?

@3TTemi
Copy link
Collaborator

3TTemi commented Oct 6, 2025

Good job on this PR. Reviewing the logic, I believe this will successfully add the ability to track and reset a user's onboarding status.

However, I noticed that only about 8 files had actual changes, and the rest were very small, like adding commas. Do you know why this happened? Are you using some type of formatter that is not Prettier (the one we adhere to in the codebase)?

I also left a comment about differentiating between developer-made and generated code to ensure clarity for other developers. Otherwise, the logic looks good!

@ambers7
Copy link
Contributor Author

ambers7 commented Oct 8, 2025

Good job on this PR. Reviewing the logic, I believe this will successfully add the ability to track and reset a user's onboarding status.

However, I noticed that only about 8 files had actual changes, and the rest were very small, like adding commas. Do you know why this happened? Are you using some type of formatter that is not Prettier (the one we adhere to in the codebase)?

I also left a comment about differentiating between developer-made and generated code to ensure clarity for other developers. Otherwise, the logic looks good!

admin/src didn't have a .prettierrc for formatting, so I added one in that was consistent with server/.prettierrc

@3TTemi
Copy link
Collaborator

3TTemi commented Oct 15, 2025

@ambers7
Since we've gone over testing now make sure to add e2e tests for completeOnboarding and resetOnboarding! These can be in the user e2e testing file

@3TTemi
Copy link
Collaborator

3TTemi commented Nov 3, 2025

The reasoning why server code style test was failing even after running npm run formatall/dart format lib was because of a Prettier version mismatch.

Local: Prettier 2.8.8 (global)
Docker: Prettier 3.6.2 (from package.json)
Prettier 3.6.2 has different formatting rules, so it flagged files that 2.8.8 thought were fine

After I installed dependencies with npm install --legacy-peer-deps to get Prettier 3.6.2 locally and then reran formatting with Prettier 3.6.2 this was fixed

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.

5 participants