Skip to content

Sunny/workshop sign up#79

Merged
albertaspsc merged 24 commits into
workshop-managementfrom
sunny/workshop_sign_up
Sep 2, 2025
Merged

Sunny/workshop sign up#79
albertaspsc merged 24 commits into
workshop-managementfrom
sunny/workshop_sign_up

Conversation

@aparm539
Copy link
Copy Markdown
Collaborator

@aparm539 aparm539 commented Sep 1, 2025

I swear I'll fill this out in a second.

@vercel
Copy link
Copy Markdown

vercel Bot commented Sep 1, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
dev-mruhacks Ready Ready Preview Comment Sep 2, 2025 0:57am
mruhacks Ready Ready Preview Comment Sep 2, 2025 0:57am
mruhacks2025 Ready Ready Preview Comment Sep 2, 2025 0:57am

@asiaao
Copy link
Copy Markdown
Collaborator

asiaao commented Sep 1, 2025

Past 2 commits consists of:

  • Getting participant info to be added to the workshop_registrants table - shows up nicely on admin workshop management
  • Renamed workshop interface to use camel case - fixed admin workshop management error for the info not showing up
  • Workshop carousel showed workshop dates to be one day earlier than what it's supposed to be - fixed date format issue

@aparm539 aparm539 changed the base branch from main to workshop-management September 1, 2025 14:53
* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Implement user‑friendly multi‑step MRUHacks registration flow

* Integrate multi‑step registration flow with context and polished UI

* Participant dashboard

* feat(register): complete 2FA flow, style register screens, integrate dashboard nav

* chore: sync up registration & 2FA changes

* fix(register): use client‐side query parsing and correct ref callback in 2FA page

* dev code for 2fa testing

* feat(auth): created landing page for log in and register. created log in page

* Fix useEffect dependencies and wrap useSearchParams in Suspense boundary for reset-password page

* User dashboard and settings

* user profile

* Update registration flow and UI styles

* user logout

* Directing to registration page from login page

* path correction

* Added login button on navbar

* Integrate login flow and fix validation in step-2 page

* Fix TypeScript errors and React imports

* upgrade drizzle-kit to latest version

* Integrating authentication into frontend

* resume input added

* User acknowledgments added

* checklist added to user doashboard

* added oarking preferences to user settings

* changed interests and diet restrictions to checkboxes

* improved default options in input fields

* user input university + major info

* improve dashboard layout and email notification fix

* Add admin dashboard with real-time participant management

* fixed file name

* added Google OAuth to register page

* admin dashboard based on user role

* Integrating registration enhancements

* Ensuring reg works on empty db

* Stablizing build

* added volunteer access and separate user sidebar

* Removing schoolEmail from schema and creating function for settings

* Implementing setting change functions

* created admin and volunteer dashboard access

* fixed registration flow and user dashboard

* fixed update participant status and check in function + admin login

* access register page from main site

* login navbar css

* admin status update

* password reset fix

* Improved participant manager functionality

* added suspense boundary for error message

* removed searchParams variable

* added suspense boundary

* accessing registration portal and login page from main site

* change password funct
ionality improved

* mobile flexibility for dashboard

* added shortcut importpath

* resume uploaing fixed

* remove debug logs and prepare code for production

* fix to prevent adding gender rows in gender table

* debug session

* RLS testing

* Added admin dashboard

* remove debug

* rls testing

* rls debug

* debug logging

* using supabase client instead of drizzzle

* fixed column name

* Vercel connection improvement

* Force redeploy with pooled connection

* debugging db

* debug db

* gender mapping

* cleaned up registration flow

* Git check redeploy

* delete account functionality

* status banner content

* settings tab layout

* sidebar button layout

* User profile and settings functionality

* account deeltion functionality

* parking info functionality

---------

Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>
@asiaao asiaao requested review from albertaspsc and asiaao September 2, 2025 00:20
@albertaspsc albertaspsc merged commit c8b106d into workshop-management Sep 2, 2025
4 checks passed
@albertaspsc albertaspsc deleted the sunny/workshop_sign_up branch September 2, 2025 00:57
asiaao added a commit that referenced this pull request Sep 2, 2025
* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Implement user‑friendly multi‑step MRUHacks registration flow

* Integrate multi‑step registration flow with context and polished UI

* Participant dashboard

* feat(register): complete 2FA flow, style register screens, integrate dashboard nav

* chore: sync up registration & 2FA changes

* fix(register): use client‐side query parsing and correct ref callback in 2FA page

* dev code for 2fa testing

* feat(auth): created landing page for log in and register. created log in page

* Fix useEffect dependencies and wrap useSearchParams in Suspense boundary for reset-password page

* User dashboard and settings

* user profile

* Update registration flow and UI styles

* user logout

* Directing to registration page from login page

* path correction

* Added login button on navbar

* Integrate login flow and fix validation in step-2 page

* Fix TypeScript errors and React imports

* upgrade drizzle-kit to latest version

* Integrating authentication into frontend

* resume input added

* User acknowledgments added

* checklist added to user doashboard

* added oarking preferences to user settings

* changed interests and diet restrictions to checkboxes

* improved default options in input fields

* user input university + major info

* improve dashboard layout and email notification fix

* Add admin dashboard with real-time participant management

* fixed file name

* added Google OAuth to register page

* admin dashboard based on user role

* Integrating registration enhancements

* Ensuring reg works on empty db

* Stablizing build

* added volunteer access and separate user sidebar

* Removing schoolEmail from schema and creating function for settings

* Implementing setting change functions

* created admin and volunteer dashboard access

* fixed registration flow and user dashboard

* fixed update participant status and check in function + admin login

* access register page from main site

* login navbar css

* admin status update

* password reset fix

* Improved participant manager functionality

* added suspense boundary for error message

* removed searchParams variable

* added suspense boundary

* accessing registration portal and login page from main site

* change password funct
ionality improved

* mobile flexibility for dashboard

* added shortcut importpath

* resume uploaing fixed

* remove debug logs and prepare code for production

* fix to prevent adding gender rows in gender table

* debug session

* RLS testing

* Added admin dashboard

* remove debug

* rls testing

* rls debug

* debug logging

* using supabase client instead of drizzzle

* fixed column name

* Vercel connection improvement

* Force redeploy with pooled connection

* debugging db

* debug db

* gender mapping

* cleaned up registration flow

* Git check redeploy

* delete account functionality

* status banner content

* settings tab layout

* sidebar button layout

* User profile and settings functionality

* account deeltion functionality

* parking info functionality

* Added API endpoints with JWT authentication and role-based access control

* Add workshop management system on admin interface

* updated for Next.js 15+ compatability

* Added delete workshop function + corrected workshop date

* renamed file

* removed duplicate file + fixed workshop exporting

* simplified admin workshop info

* fixed folder name

* update Drizzle config/schema + middleware and remove old Supabase migrations/seeds (#78)

* update Drizzle config/schema & middleware; remove legacy Supabase migrations/seeds; docs+deps updates

* Update ParticipantManagement import path.

* Update ParticipantManagement import path.

* Remove job failing in CI

* Sunny/workshop sign up (#79)

* update Drizzle config/schema & middleware; remove legacy Supabase migrations/seeds; docs+deps updates

* Update ParticipantManagement import path.

* Update ParticipantManagement import path.

* Remove job failing in CI

* create migrations for triggers and functions. Add frontend for user workshop registration.

* Refactor dashboard

* move dashboard files into subfolders.

* add participant name/gender/major to workshop_registrations table + renamed workshop interface

* handle timezone conversion in workshop date formatting

* Create migration to rename users.year_of_study to users.yearOfStudy

* Update migration to conditionally run if items dont exists.

* Update migration to run conditionally.

* update column name

* Use a consistent top nav bar throughout the application.

* Add the ability to go back and forth between form pages. Update profile column names.

* Allow registration retry after failure.

* Add Vercel analytics and speed insights.

* Complete flow (#76)

* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Implement user‑friendly multi‑step MRUHacks registration flow

* Integrate multi‑step registration flow with context and polished UI

* Participant dashboard

* feat(register): complete 2FA flow, style register screens, integrate dashboard nav

* chore: sync up registration & 2FA changes

* fix(register): use client‐side query parsing and correct ref callback in 2FA page

* dev code for 2fa testing

* feat(auth): created landing page for log in and register. created log in page

* Fix useEffect dependencies and wrap useSearchParams in Suspense boundary for reset-password page

* User dashboard and settings

* user profile

* Update registration flow and UI styles

* user logout

* Directing to registration page from login page

* path correction

* Added login button on navbar

* Integrate login flow and fix validation in step-2 page

* Fix TypeScript errors and React imports

* upgrade drizzle-kit to latest version

* Integrating authentication into frontend

* resume input added

* User acknowledgments added

* checklist added to user doashboard

* added oarking preferences to user settings

* changed interests and diet restrictions to checkboxes

* improved default options in input fields

* user input university + major info

* improve dashboard layout and email notification fix

* Add admin dashboard with real-time participant management

* fixed file name

* added Google OAuth to register page

* admin dashboard based on user role

* Integrating registration enhancements

* Ensuring reg works on empty db

* Stablizing build

* added volunteer access and separate user sidebar

* Removing schoolEmail from schema and creating function for settings

* Implementing setting change functions

* created admin and volunteer dashboard access

* fixed registration flow and user dashboard

* fixed update participant status and check in function + admin login

* access register page from main site

* login navbar css

* admin status update

* password reset fix

* Improved participant manager functionality

* added suspense boundary for error message

* removed searchParams variable

* added suspense boundary

* accessing registration portal and login page from main site

* change password funct
ionality improved

* mobile flexibility for dashboard

* added shortcut importpath

* resume uploaing fixed

* remove debug logs and prepare code for production

* fix to prevent adding gender rows in gender table

* debug session

* RLS testing

* Added admin dashboard

* remove debug

* rls testing

* rls debug

* debug logging

* using supabase client instead of drizzzle

* fixed column name

* Vercel connection improvement

* Force redeploy with pooled connection

* debugging db

* debug db

* gender mapping

* cleaned up registration flow

* Git check redeploy

* delete account functionality

* status banner content

* settings tab layout

* sidebar button layout

* User profile and settings functionality

* account deeltion functionality

* parking info functionality

---------

Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>

* fix nav bar on admin pages.

* fix errors caused by merge.

* Fix property name mismatches in admin dashboard workshop stats

* update import path.

---------

Co-authored-by: Asia Ongjoco <aongj148@mtroyal.ca>
Co-authored-by: Asia Ongjoco <144367704+asiaao@users.noreply.github.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>

* update import

* fix: remove duplicate ParticipantManagement file with incorrect casing

- Removed src/components/admin/ParticipantManagement.tsx (lowercase)
- Kept src/components/Admin/ParticipantManagement.tsx (uppercase)
- This fixes the case sensitivity issue on Vercel deployment

* fix: restore ParticipantManagement component with correct casing

- Restored src/components/Admin/ParticipantManagement.tsx (uppercase)
- Only the lowercase duplicate was removed in previous commit
- This should resolve the Vercel deployment case sensitivity issue

---------

Co-authored-by: Asia Ongjoco <144367704+asiaao@users.noreply.github.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: Asia Ongjoco <aongj148@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>
Co-authored-by: Sunny Parmar <113143064+aparm539@users.noreply.github.com>
asiaao added a commit that referenced this pull request Sep 2, 2025
* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* Feature/db schema (#67)

* Adding email auth and basic schema
Theres several different ways to associate profile data with
authenticated users, so the schema isn't finalized.
Email auth works; google auth almost works, but fails to redirect
properly.
Google OneTap component needs to be tested.
See other TODOs for more information.

* Finished Google auth and created registration handler

* Cleaning up auth endpoints and middleware,
Removing google one tap,
Schema updates
Moving api contract to docs

* Fixing middleware functionality

* Fixing typescript config to enable zod

* Removing redundant comments and functions

* Removing unnecessary thread blocking for trigger queries

* Adding in reset-password and change-email routes

* Adding env setup docs

* Adding auth flow docs

* School Email

* Fixing reset password bugs and adding recommended changes

* Writing RLS policy and registration functions

* Resolve typescript conflicts from pr71 (#74)

* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Moving to typescript and relative paths

* bug fixing for countdown update render

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Adding turbopack support and update sponsor.tsx

---------

Co-authored-by: methlab <methlab006@gmail.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>

* Complete flow (#76)

* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Implement user‑friendly multi‑step MRUHacks registration flow

* Integrate multi‑step registration flow with context and polished UI

* Participant dashboard

* feat(register): complete 2FA flow, style register screens, integrate dashboard nav

* chore: sync up registration & 2FA changes

* fix(register): use client‐side query parsing and correct ref callback in 2FA page

* dev code for 2fa testing

* feat(auth): created landing page for log in and register. created log in page

* Fix useEffect dependencies and wrap useSearchParams in Suspense boundary for reset-password page

* User dashboard and settings

* user profile

* Update registration flow and UI styles

* user logout

* Directing to registration page from login page

* path correction

* Added login button on navbar

* Integrate login flow and fix validation in step-2 page

* Fix TypeScript errors and React imports

* upgrade drizzle-kit to latest version

* Integrating authentication into frontend

* resume input added

* User acknowledgments added

* checklist added to user doashboard

* added oarking preferences to user settings

* changed interests and diet restrictions to checkboxes

* improved default options in input fields

* user input university + major info

* improve dashboard layout and email notification fix

* Add admin dashboard with real-time participant management

* fixed file name

* added Google OAuth to register page

* admin dashboard based on user role

* Integrating registration enhancements

* Ensuring reg works on empty db

* Stablizing build

* added volunteer access and separate user sidebar

* Removing schoolEmail from schema and creating function for settings

* Implementing setting change functions

* created admin and volunteer dashboard access

* fixed registration flow and user dashboard

* fixed update participant status and check in function + admin login

* access register page from main site

* login navbar css

* admin status update

* password reset fix

* Improved participant manager functionality

* added suspense boundary for error message

* removed searchParams variable

* added suspense boundary

* accessing registration portal and login page from main site

* change password funct
ionality improved

* mobile flexibility for dashboard

* added shortcut importpath

* resume uploaing fixed

* remove debug logs and prepare code for production

* fix to prevent adding gender rows in gender table

* debug session

* RLS testing

* Added admin dashboard

* remove debug

* rls testing

* rls debug

* debug logging

* using supabase client instead of drizzzle

* fixed column name

* Vercel connection improvement

* Force redeploy with pooled connection

* debugging db

* debug db

* gender mapping

* cleaned up registration flow

* Git check redeploy

* delete account functionality

* status banner content

* settings tab layout

* sidebar button layout

* User profile and settings functionality

* account deeltion functionality

* parking info functionality

---------

Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>

* Workshop management (#80)

* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Implement user‑friendly multi‑step MRUHacks registration flow

* Integrate multi‑step registration flow with context and polished UI

* Participant dashboard

* feat(register): complete 2FA flow, style register screens, integrate dashboard nav

* chore: sync up registration & 2FA changes

* fix(register): use client‐side query parsing and correct ref callback in 2FA page

* dev code for 2fa testing

* feat(auth): created landing page for log in and register. created log in page

* Fix useEffect dependencies and wrap useSearchParams in Suspense boundary for reset-password page

* User dashboard and settings

* user profile

* Update registration flow and UI styles

* user logout

* Directing to registration page from login page

* path correction

* Added login button on navbar

* Integrate login flow and fix validation in step-2 page

* Fix TypeScript errors and React imports

* upgrade drizzle-kit to latest version

* Integrating authentication into frontend

* resume input added

* User acknowledgments added

* checklist added to user doashboard

* added oarking preferences to user settings

* changed interests and diet restrictions to checkboxes

* improved default options in input fields

* user input university + major info

* improve dashboard layout and email notification fix

* Add admin dashboard with real-time participant management

* fixed file name

* added Google OAuth to register page

* admin dashboard based on user role

* Integrating registration enhancements

* Ensuring reg works on empty db

* Stablizing build

* added volunteer access and separate user sidebar

* Removing schoolEmail from schema and creating function for settings

* Implementing setting change functions

* created admin and volunteer dashboard access

* fixed registration flow and user dashboard

* fixed update participant status and check in function + admin login

* access register page from main site

* login navbar css

* admin status update

* password reset fix

* Improved participant manager functionality

* added suspense boundary for error message

* removed searchParams variable

* added suspense boundary

* accessing registration portal and login page from main site

* change password funct
ionality improved

* mobile flexibility for dashboard

* added shortcut importpath

* resume uploaing fixed

* remove debug logs and prepare code for production

* fix to prevent adding gender rows in gender table

* debug session

* RLS testing

* Added admin dashboard

* remove debug

* rls testing

* rls debug

* debug logging

* using supabase client instead of drizzzle

* fixed column name

* Vercel connection improvement

* Force redeploy with pooled connection

* debugging db

* debug db

* gender mapping

* cleaned up registration flow

* Git check redeploy

* delete account functionality

* status banner content

* settings tab layout

* sidebar button layout

* User profile and settings functionality

* account deeltion functionality

* parking info functionality

* Added API endpoints with JWT authentication and role-based access control

* Add workshop management system on admin interface

* updated for Next.js 15+ compatability

* Added delete workshop function + corrected workshop date

* renamed file

* removed duplicate file + fixed workshop exporting

* simplified admin workshop info

* fixed folder name

* update Drizzle config/schema + middleware and remove old Supabase migrations/seeds (#78)

* update Drizzle config/schema & middleware; remove legacy Supabase migrations/seeds; docs+deps updates

* Update ParticipantManagement import path.

* Update ParticipantManagement import path.

* Remove job failing in CI

* Sunny/workshop sign up (#79)

* update Drizzle config/schema & middleware; remove legacy Supabase migrations/seeds; docs+deps updates

* Update ParticipantManagement import path.

* Update ParticipantManagement import path.

* Remove job failing in CI

* create migrations for triggers and functions. Add frontend for user workshop registration.

* Refactor dashboard

* move dashboard files into subfolders.

* add participant name/gender/major to workshop_registrations table + renamed workshop interface

* handle timezone conversion in workshop date formatting

* Create migration to rename users.year_of_study to users.yearOfStudy

* Update migration to conditionally run if items dont exists.

* Update migration to run conditionally.

* update column name

* Use a consistent top nav bar throughout the application.

* Add the ability to go back and forth between form pages. Update profile column names.

* Allow registration retry after failure.

* Add Vercel analytics and speed insights.

* Complete flow (#76)

* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Implement user‑friendly multi‑step MRUHacks registration flow

* Integrate multi‑step registration flow with context and polished UI

* Participant dashboard

* feat(register): complete 2FA flow, style register screens, integrate dashboard nav

* chore: sync up registration & 2FA changes

* fix(register): use client‐side query parsing and correct ref callback in 2FA page

* dev code for 2fa testing

* feat(auth): created landing page for log in and register. created log in page

* Fix useEffect dependencies and wrap useSearchParams in Suspense boundary for reset-password page

* User dashboard and settings

* user profile

* Update registration flow and UI styles

* user logout

* Directing to registration page from login page

* path correction

* Added login button on navbar

* Integrate login flow and fix validation in step-2 page

* Fix TypeScript errors and React imports

* upgrade drizzle-kit to latest version

* Integrating authentication into frontend

* resume input added

* User acknowledgments added

* checklist added to user doashboard

* added oarking preferences to user settings

* changed interests and diet restrictions to checkboxes

* improved default options in input fields

* user input university + major info

* improve dashboard layout and email notification fix

* Add admin dashboard with real-time participant management

* fixed file name

* added Google OAuth to register page

* admin dashboard based on user role

* Integrating registration enhancements

* Ensuring reg works on empty db

* Stablizing build

* added volunteer access and separate user sidebar

* Removing schoolEmail from schema and creating function for settings

* Implementing setting change functions

* created admin and volunteer dashboard access

* fixed registration flow and user dashboard

* fixed update participant status and check in function + admin login

* access register page from main site

* login navbar css

* admin status update

* password reset fix

* Improved participant manager functionality

* added suspense boundary for error message

* removed searchParams variable

* added suspense boundary

* accessing registration portal and login page from main site

* change password funct
ionality improved

* mobile flexibility for dashboard

* added shortcut importpath

* resume uploaing fixed

* remove debug logs and prepare code for production

* fix to prevent adding gender rows in gender table

* debug session

* RLS testing

* Added admin dashboard

* remove debug

* rls testing

* rls debug

* debug logging

* using supabase client instead of drizzzle

* fixed column name

* Vercel connection improvement

* Force redeploy with pooled connection

* debugging db

* debug db

* gender mapping

* cleaned up registration flow

* Git check redeploy

* delete account functionality

* status banner content

* settings tab layout

* sidebar button layout

* User profile and settings functionality

* account deeltion functionality

* parking info functionality

---------

Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>

* fix nav bar on admin pages.

* fix errors caused by merge.

* Fix property name mismatches in admin dashboard workshop stats

* update import path.

---------

Co-authored-by: Asia Ongjoco <aongj148@mtroyal.ca>
Co-authored-by: Asia Ongjoco <144367704+asiaao@users.noreply.github.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>

* update import

* fix: remove duplicate ParticipantManagement file with incorrect casing

- Removed src/components/admin/ParticipantManagement.tsx (lowercase)
- Kept src/components/Admin/ParticipantManagement.tsx (uppercase)
- This fixes the case sensitivity issue on Vercel deployment

* fix: restore ParticipantManagement component with correct casing

- Restored src/components/Admin/ParticipantManagement.tsx (uppercase)
- Only the lowercase duplicate was removed in previous commit
- This should resolve the Vercel deployment case sensitivity issue

---------

Co-authored-by: Asia Ongjoco <144367704+asiaao@users.noreply.github.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: Asia Ongjoco <aongj148@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>
Co-authored-by: Sunny Parmar <113143064+aparm539@users.noreply.github.com>

---------

Co-authored-by: methlab0050 <101669672+methlab0050@users.noreply.github.com>
Co-authored-by: methlab <methlab006@gmail.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: albertaspsc <159397611+albertaspsc@users.noreply.github.com>
Co-authored-by: Sunny Parmar <113143064+aparm539@users.noreply.github.com>
aparm539 added a commit that referenced this pull request Sep 2, 2025
* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* Feature/db schema (#67)

* Adding email auth and basic schema
Theres several different ways to associate profile data with
authenticated users, so the schema isn't finalized.
Email auth works; google auth almost works, but fails to redirect
properly.
Google OneTap component needs to be tested.
See other TODOs for more information.

* Finished Google auth and created registration handler

* Cleaning up auth endpoints and middleware,
Removing google one tap,
Schema updates
Moving api contract to docs

* Fixing middleware functionality

* Fixing typescript config to enable zod

* Removing redundant comments and functions

* Removing unnecessary thread blocking for trigger queries

* Adding in reset-password and change-email routes

* Adding env setup docs

* Adding auth flow docs

* School Email

* Fixing reset password bugs and adding recommended changes

* Writing RLS policy and registration functions

* Resolve typescript conflicts from pr71 (#74)

* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Moving to typescript and relative paths

* bug fixing for countdown update render

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Adding turbopack support and update sponsor.tsx

---------

Co-authored-by: methlab <methlab006@gmail.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>

* Complete flow (#76)

* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Implement user‑friendly multi‑step MRUHacks registration flow

* Integrate multi‑step registration flow with context and polished UI

* Participant dashboard

* feat(register): complete 2FA flow, style register screens, integrate dashboard nav

* chore: sync up registration & 2FA changes

* fix(register): use client‐side query parsing and correct ref callback in 2FA page

* dev code for 2fa testing

* feat(auth): created landing page for log in and register. created log in page

* Fix useEffect dependencies and wrap useSearchParams in Suspense boundary for reset-password page

* User dashboard and settings

* user profile

* Update registration flow and UI styles

* user logout

* Directing to registration page from login page

* path correction

* Added login button on navbar

* Integrate login flow and fix validation in step-2 page

* Fix TypeScript errors and React imports

* upgrade drizzle-kit to latest version

* Integrating authentication into frontend

* resume input added

* User acknowledgments added

* checklist added to user doashboard

* added oarking preferences to user settings

* changed interests and diet restrictions to checkboxes

* improved default options in input fields

* user input university + major info

* improve dashboard layout and email notification fix

* Add admin dashboard with real-time participant management

* fixed file name

* added Google OAuth to register page

* admin dashboard based on user role

* Integrating registration enhancements

* Ensuring reg works on empty db

* Stablizing build

* added volunteer access and separate user sidebar

* Removing schoolEmail from schema and creating function for settings

* Implementing setting change functions

* created admin and volunteer dashboard access

* fixed registration flow and user dashboard

* fixed update participant status and check in function + admin login

* access register page from main site

* login navbar css

* admin status update

* password reset fix

* Improved participant manager functionality

* added suspense boundary for error message

* removed searchParams variable

* added suspense boundary

* accessing registration portal and login page from main site

* change password funct
ionality improved

* mobile flexibility for dashboard

* added shortcut importpath

* resume uploaing fixed

* remove debug logs and prepare code for production

* fix to prevent adding gender rows in gender table

* debug session

* RLS testing

* Added admin dashboard

* remove debug

* rls testing

* rls debug

* debug logging

* using supabase client instead of drizzzle

* fixed column name

* Vercel connection improvement

* Force redeploy with pooled connection

* debugging db

* debug db

* gender mapping

* cleaned up registration flow

* Git check redeploy

* delete account functionality

* status banner content

* settings tab layout

* sidebar button layout

* User profile and settings functionality

* account deeltion functionality

* parking info functionality

---------

Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>

* Workshop management (#80)

* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Implement user‑friendly multi‑step MRUHacks registration flow

* Integrate multi‑step registration flow with context and polished UI

* Participant dashboard

* feat(register): complete 2FA flow, style register screens, integrate dashboard nav

* chore: sync up registration & 2FA changes

* fix(register): use client‐side query parsing and correct ref callback in 2FA page

* dev code for 2fa testing

* feat(auth): created landing page for log in and register. created log in page

* Fix useEffect dependencies and wrap useSearchParams in Suspense boundary for reset-password page

* User dashboard and settings

* user profile

* Update registration flow and UI styles

* user logout

* Directing to registration page from login page

* path correction

* Added login button on navbar

* Integrate login flow and fix validation in step-2 page

* Fix TypeScript errors and React imports

* upgrade drizzle-kit to latest version

* Integrating authentication into frontend

* resume input added

* User acknowledgments added

* checklist added to user doashboard

* added oarking preferences to user settings

* changed interests and diet restrictions to checkboxes

* improved default options in input fields

* user input university + major info

* improve dashboard layout and email notification fix

* Add admin dashboard with real-time participant management

* fixed file name

* added Google OAuth to register page

* admin dashboard based on user role

* Integrating registration enhancements

* Ensuring reg works on empty db

* Stablizing build

* added volunteer access and separate user sidebar

* Removing schoolEmail from schema and creating function for settings

* Implementing setting change functions

* created admin and volunteer dashboard access

* fixed registration flow and user dashboard

* fixed update participant status and check in function + admin login

* access register page from main site

* login navbar css

* admin status update

* password reset fix

* Improved participant manager functionality

* added suspense boundary for error message

* removed searchParams variable

* added suspense boundary

* accessing registration portal and login page from main site

* change password funct
ionality improved

* mobile flexibility for dashboard

* added shortcut importpath

* resume uploaing fixed

* remove debug logs and prepare code for production

* fix to prevent adding gender rows in gender table

* debug session

* RLS testing

* Added admin dashboard

* remove debug

* rls testing

* rls debug

* debug logging

* using supabase client instead of drizzzle

* fixed column name

* Vercel connection improvement

* Force redeploy with pooled connection

* debugging db

* debug db

* gender mapping

* cleaned up registration flow

* Git check redeploy

* delete account functionality

* status banner content

* settings tab layout

* sidebar button layout

* User profile and settings functionality

* account deeltion functionality

* parking info functionality

* Added API endpoints with JWT authentication and role-based access control

* Add workshop management system on admin interface

* updated for Next.js 15+ compatability

* Added delete workshop function + corrected workshop date

* renamed file

* removed duplicate file + fixed workshop exporting

* simplified admin workshop info

* fixed folder name

* update Drizzle config/schema + middleware and remove old Supabase migrations/seeds (#78)

* update Drizzle config/schema & middleware; remove legacy Supabase migrations/seeds; docs+deps updates

* Update ParticipantManagement import path.

* Update ParticipantManagement import path.

* Remove job failing in CI

* Sunny/workshop sign up (#79)

* update Drizzle config/schema & middleware; remove legacy Supabase migrations/seeds; docs+deps updates

* Update ParticipantManagement import path.

* Update ParticipantManagement import path.

* Remove job failing in CI

* create migrations for triggers and functions. Add frontend for user workshop registration.

* Refactor dashboard

* move dashboard files into subfolders.

* add participant name/gender/major to workshop_registrations table + renamed workshop interface

* handle timezone conversion in workshop date formatting

* Create migration to rename users.year_of_study to users.yearOfStudy

* Update migration to conditionally run if items dont exists.

* Update migration to run conditionally.

* update column name

* Use a consistent top nav bar throughout the application.

* Add the ability to go back and forth between form pages. Update profile column names.

* Allow registration retry after failure.

* Add Vercel analytics and speed insights.

* Complete flow (#76)

* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Implement user‑friendly multi‑step MRUHacks registration flow

* Integrate multi‑step registration flow with context and polished UI

* Participant dashboard

* feat(register): complete 2FA flow, style register screens, integrate dashboard nav

* chore: sync up registration & 2FA changes

* fix(register): use client‐side query parsing and correct ref callback in 2FA page

* dev code for 2fa testing

* feat(auth): created landing page for log in and register. created log in page

* Fix useEffect dependencies and wrap useSearchParams in Suspense boundary for reset-password page

* User dashboard and settings

* user profile

* Update registration flow and UI styles

* user logout

* Directing to registration page from login page

* path correction

* Added login button on navbar

* Integrate login flow and fix validation in step-2 page

* Fix TypeScript errors and React imports

* upgrade drizzle-kit to latest version

* Integrating authentication into frontend

* resume input added

* User acknowledgments added

* checklist added to user doashboard

* added oarking preferences to user settings

* changed interests and diet restrictions to checkboxes

* improved default options in input fields

* user input university + major info

* improve dashboard layout and email notification fix

* Add admin dashboard with real-time participant management

* fixed file name

* added Google OAuth to register page

* admin dashboard based on user role

* Integrating registration enhancements

* Ensuring reg works on empty db

* Stablizing build

* added volunteer access and separate user sidebar

* Removing schoolEmail from schema and creating function for settings

* Implementing setting change functions

* created admin and volunteer dashboard access

* fixed registration flow and user dashboard

* fixed update participant status and check in function + admin login

* access register page from main site

* login navbar css

* admin status update

* password reset fix

* Improved participant manager functionality

* added suspense boundary for error message

* removed searchParams variable

* added suspense boundary

* accessing registration portal and login page from main site

* change password funct
ionality improved

* mobile flexibility for dashboard

* added shortcut importpath

* resume uploaing fixed

* remove debug logs and prepare code for production

* fix to prevent adding gender rows in gender table

* debug session

* RLS testing

* Added admin dashboard

* remove debug

* rls testing

* rls debug

* debug logging

* using supabase client instead of drizzzle

* fixed column name

* Vercel connection improvement

* Force redeploy with pooled connection

* debugging db

* debug db

* gender mapping

* cleaned up registration flow

* Git check redeploy

* delete account functionality

* status banner content

* settings tab layout

* sidebar button layout

* User profile and settings functionality

* account deeltion functionality

* parking info functionality

---------

Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>

* fix nav bar on admin pages.

* fix errors caused by merge.

* Fix property name mismatches in admin dashboard workshop stats

* update import path.

---------

Co-authored-by: Asia Ongjoco <aongj148@mtroyal.ca>
Co-authored-by: Asia Ongjoco <144367704+asiaao@users.noreply.github.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>

* update import

* fix: remove duplicate ParticipantManagement file with incorrect casing

- Removed src/components/admin/ParticipantManagement.tsx (lowercase)
- Kept src/components/Admin/ParticipantManagement.tsx (uppercase)
- This fixes the case sensitivity issue on Vercel deployment

* fix: restore ParticipantManagement component with correct casing

- Restored src/components/Admin/ParticipantManagement.tsx (uppercase)
- Only the lowercase duplicate was removed in previous commit
- This should resolve the Vercel deployment case sensitivity issue

---------

Co-authored-by: Asia Ongjoco <144367704+asiaao@users.noreply.github.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: Asia Ongjoco <aongj148@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>
Co-authored-by: Sunny Parmar <113143064+aparm539@users.noreply.github.com>

* Refactor registration and settings files for consistency.

* add missing return statement

---------

Co-authored-by: Asia Ongjoco <aongj148@mtroyal.ca>
Co-authored-by: methlab0050 <101669672+methlab0050@users.noreply.github.com>
Co-authored-by: Asia Ongjoco <144367704+asiaao@users.noreply.github.com>
Co-authored-by: methlab <methlab006@gmail.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: albertaspsc <159397611+albertaspsc@users.noreply.github.com>
albertaspsc added a commit that referenced this pull request Sep 2, 2025
* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* Feature/db schema (#67)

* Adding email auth and basic schema
Theres several different ways to associate profile data with
authenticated users, so the schema isn't finalized.
Email auth works; google auth almost works, but fails to redirect
properly.
Google OneTap component needs to be tested.
See other TODOs for more information.

* Finished Google auth and created registration handler

* Cleaning up auth endpoints and middleware,
Removing google one tap,
Schema updates
Moving api contract to docs

* Fixing middleware functionality

* Fixing typescript config to enable zod

* Removing redundant comments and functions

* Removing unnecessary thread blocking for trigger queries

* Adding in reset-password and change-email routes

* Adding env setup docs

* Adding auth flow docs

* School Email

* Fixing reset password bugs and adding recommended changes

* Writing RLS policy and registration functions

* Resolve typescript conflicts from pr71 (#74)

* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Moving to typescript and relative paths

* bug fixing for countdown update render

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Adding turbopack support and update sponsor.tsx

---------

Co-authored-by: methlab <methlab006@gmail.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>

* Complete flow (#76)

* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Implement user‑friendly multi‑step MRUHacks registration flow

* Integrate multi‑step registration flow with context and polished UI

* Participant dashboard

* feat(register): complete 2FA flow, style register screens, integrate dashboard nav

* chore: sync up registration & 2FA changes

* fix(register): use client‐side query parsing and correct ref callback in 2FA page

* dev code for 2fa testing

* feat(auth): created landing page for log in and register. created log in page

* Fix useEffect dependencies and wrap useSearchParams in Suspense boundary for reset-password page

* User dashboard and settings

* user profile

* Update registration flow and UI styles

* user logout

* Directing to registration page from login page

* path correction

* Added login button on navbar

* Integrate login flow and fix validation in step-2 page

* Fix TypeScript errors and React imports

* upgrade drizzle-kit to latest version

* Integrating authentication into frontend

* resume input added

* User acknowledgments added

* checklist added to user doashboard

* added oarking preferences to user settings

* changed interests and diet restrictions to checkboxes

* improved default options in input fields

* user input university + major info

* improve dashboard layout and email notification fix

* Add admin dashboard with real-time participant management

* fixed file name

* added Google OAuth to register page

* admin dashboard based on user role

* Integrating registration enhancements

* Ensuring reg works on empty db

* Stablizing build

* added volunteer access and separate user sidebar

* Removing schoolEmail from schema and creating function for settings

* Implementing setting change functions

* created admin and volunteer dashboard access

* fixed registration flow and user dashboard

* fixed update participant status and check in function + admin login

* access register page from main site

* login navbar css

* admin status update

* password reset fix

* Improved participant manager functionality

* added suspense boundary for error message

* removed searchParams variable

* added suspense boundary

* accessing registration portal and login page from main site

* change password funct
ionality improved

* mobile flexibility for dashboard

* added shortcut importpath

* resume uploaing fixed

* remove debug logs and prepare code for production

* fix to prevent adding gender rows in gender table

* debug session

* RLS testing

* Added admin dashboard

* remove debug

* rls testing

* rls debug

* debug logging

* using supabase client instead of drizzzle

* fixed column name

* Vercel connection improvement

* Force redeploy with pooled connection

* debugging db

* debug db

* gender mapping

* cleaned up registration flow

* Git check redeploy

* delete account functionality

* status banner content

* settings tab layout

* sidebar button layout

* User profile and settings functionality

* account deeltion functionality

* parking info functionality

---------

Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>

* Workshop management (#80)

* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Implement user‑friendly multi‑step MRUHacks registration flow

* Integrate multi‑step registration flow with context and polished UI

* Participant dashboard

* feat(register): complete 2FA flow, style register screens, integrate dashboard nav

* chore: sync up registration & 2FA changes

* fix(register): use client‐side query parsing and correct ref callback in 2FA page

* dev code for 2fa testing

* feat(auth): created landing page for log in and register. created log in page

* Fix useEffect dependencies and wrap useSearchParams in Suspense boundary for reset-password page

* User dashboard and settings

* user profile

* Update registration flow and UI styles

* user logout

* Directing to registration page from login page

* path correction

* Added login button on navbar

* Integrate login flow and fix validation in step-2 page

* Fix TypeScript errors and React imports

* upgrade drizzle-kit to latest version

* Integrating authentication into frontend

* resume input added

* User acknowledgments added

* checklist added to user doashboard

* added oarking preferences to user settings

* changed interests and diet restrictions to checkboxes

* improved default options in input fields

* user input university + major info

* improve dashboard layout and email notification fix

* Add admin dashboard with real-time participant management

* fixed file name

* added Google OAuth to register page

* admin dashboard based on user role

* Integrating registration enhancements

* Ensuring reg works on empty db

* Stablizing build

* added volunteer access and separate user sidebar

* Removing schoolEmail from schema and creating function for settings

* Implementing setting change functions

* created admin and volunteer dashboard access

* fixed registration flow and user dashboard

* fixed update participant status and check in function + admin login

* access register page from main site

* login navbar css

* admin status update

* password reset fix

* Improved participant manager functionality

* added suspense boundary for error message

* removed searchParams variable

* added suspense boundary

* accessing registration portal and login page from main site

* change password funct
ionality improved

* mobile flexibility for dashboard

* added shortcut importpath

* resume uploaing fixed

* remove debug logs and prepare code for production

* fix to prevent adding gender rows in gender table

* debug session

* RLS testing

* Added admin dashboard

* remove debug

* rls testing

* rls debug

* debug logging

* using supabase client instead of drizzzle

* fixed column name

* Vercel connection improvement

* Force redeploy with pooled connection

* debugging db

* debug db

* gender mapping

* cleaned up registration flow

* Git check redeploy

* delete account functionality

* status banner content

* settings tab layout

* sidebar button layout

* User profile and settings functionality

* account deeltion functionality

* parking info functionality

* Added API endpoints with JWT authentication and role-based access control

* Add workshop management system on admin interface

* updated for Next.js 15+ compatability

* Added delete workshop function + corrected workshop date

* renamed file

* removed duplicate file + fixed workshop exporting

* simplified admin workshop info

* fixed folder name

* update Drizzle config/schema + middleware and remove old Supabase migrations/seeds (#78)

* update Drizzle config/schema & middleware; remove legacy Supabase migrations/seeds; docs+deps updates

* Update ParticipantManagement import path.

* Update ParticipantManagement import path.

* Remove job failing in CI

* Sunny/workshop sign up (#79)

* update Drizzle config/schema & middleware; remove legacy Supabase migrations/seeds; docs+deps updates

* Update ParticipantManagement import path.

* Update ParticipantManagement import path.

* Remove job failing in CI

* create migrations for triggers and functions. Add frontend for user workshop registration.

* Refactor dashboard

* move dashboard files into subfolders.

* add participant name/gender/major to workshop_registrations table + renamed workshop interface

* handle timezone conversion in workshop date formatting

* Create migration to rename users.year_of_study to users.yearOfStudy

* Update migration to conditionally run if items dont exists.

* Update migration to run conditionally.

* update column name

* Use a consistent top nav bar throughout the application.

* Add the ability to go back and forth between form pages. Update profile column names.

* Allow registration retry after failure.

* Add Vercel analytics and speed insights.

* Complete flow (#76)

* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Implement user‑friendly multi‑step MRUHacks registration flow

* Integrate multi‑step registration flow with context and polished UI

* Participant dashboard

* feat(register): complete 2FA flow, style register screens, integrate dashboard nav

* chore: sync up registration & 2FA changes

* fix(register): use client‐side query parsing and correct ref callback in 2FA page

* dev code for 2fa testing

* feat(auth): created landing page for log in and register. created log in page

* Fix useEffect dependencies and wrap useSearchParams in Suspense boundary for reset-password page

* User dashboard and settings

* user profile

* Update registration flow and UI styles

* user logout

* Directing to registration page from login page

* path correction

* Added login button on navbar

* Integrate login flow and fix validation in step-2 page

* Fix TypeScript errors and React imports

* upgrade drizzle-kit to latest version

* Integrating authentication into frontend

* resume input added

* User acknowledgments added

* checklist added to user doashboard

* added oarking preferences to user settings

* changed interests and diet restrictions to checkboxes

* improved default options in input fields

* user input university + major info

* improve dashboard layout and email notification fix

* Add admin dashboard with real-time participant management

* fixed file name

* added Google OAuth to register page

* admin dashboard based on user role

* Integrating registration enhancements

* Ensuring reg works on empty db

* Stablizing build

* added volunteer access and separate user sidebar

* Removing schoolEmail from schema and creating function for settings

* Implementing setting change functions

* created admin and volunteer dashboard access

* fixed registration flow and user dashboard

* fixed update participant status and check in function + admin login

* access register page from main site

* login navbar css

* admin status update

* password reset fix

* Improved participant manager functionality

* added suspense boundary for error message

* removed searchParams variable

* added suspense boundary

* accessing registration portal and login page from main site

* change password funct
ionality improved

* mobile flexibility for dashboard

* added shortcut importpath

* resume uploaing fixed

* remove debug logs and prepare code for production

* fix to prevent adding gender rows in gender table

* debug session

* RLS testing

* Added admin dashboard

* remove debug

* rls testing

* rls debug

* debug logging

* using supabase client instead of drizzzle

* fixed column name

* Vercel connection improvement

* Force redeploy with pooled connection

* debugging db

* debug db

* gender mapping

* cleaned up registration flow

* Git check redeploy

* delete account functionality

* status banner content

* settings tab layout

* sidebar button layout

* User profile and settings functionality

* account deeltion functionality

* parking info functionality

---------

Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>

* fix nav bar on admin pages.

* fix errors caused by merge.

* Fix property name mismatches in admin dashboard workshop stats

* update import path.

---------

Co-authored-by: Asia Ongjoco <aongj148@mtroyal.ca>
Co-authored-by: Asia Ongjoco <144367704+asiaao@users.noreply.github.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>

* update import

* fix: remove duplicate ParticipantManagement file with incorrect casing

- Removed src/components/admin/ParticipantManagement.tsx (lowercase)
- Kept src/components/Admin/ParticipantManagement.tsx (uppercase)
- This fixes the case sensitivity issue on Vercel deployment

* fix: restore ParticipantManagement component with correct casing

- Restored src/components/Admin/ParticipantManagement.tsx (uppercase)
- Only the lowercase duplicate was removed in previous commit
- This should resolve the Vercel deployment case sensitivity issue

---------

Co-authored-by: Asia Ongjoco <144367704+asiaao@users.noreply.github.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: Asia Ongjoco <aongj148@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>
Co-authored-by: Sunny Parmar <113143064+aparm539@users.noreply.github.com>

* Refactor registration and settings files for consistency.

* add missing return statement

* Update redirect path.

---------

Co-authored-by: Asia Ongjoco <aongj148@mtroyal.ca>
Co-authored-by: methlab0050 <101669672+methlab0050@users.noreply.github.com>
Co-authored-by: Asia Ongjoco <144367704+asiaao@users.noreply.github.com>
Co-authored-by: methlab <methlab006@gmail.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: albertaspsc <159397611+albertaspsc@users.noreply.github.com>
aparm539 added a commit that referenced this pull request Sep 19, 2025
* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* Feature/db schema (#67)

* Adding email auth and basic schema
Theres several different ways to associate profile data with
authenticated users, so the schema isn't finalized.
Email auth works; google auth almost works, but fails to redirect
properly.
Google OneTap component needs to be tested.
See other TODOs for more information.

* Finished Google auth and created registration handler

* Cleaning up auth endpoints and middleware,
Removing google one tap,
Schema updates
Moving api contract to docs

* Fixing middleware functionality

* Fixing typescript config to enable zod

* Removing redundant comments and functions

* Removing unnecessary thread blocking for trigger queries

* Adding in reset-password and change-email routes

* Adding env setup docs

* Adding auth flow docs

* School Email

* Fixing reset password bugs and adding recommended changes

* Writing RLS policy and registration functions

* Resolve typescript conflicts from pr71 (#74)

* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Moving to typescript and relative paths

* bug fixing for countdown update render

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Adding turbopack support and update sponsor.tsx

---------

Co-authored-by: methlab <methlab006@gmail.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>

* Complete flow (#76)

* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Implement user‑friendly multi‑step MRUHacks registration flow

* Integrate multi‑step registration flow with context and polished UI

* Participant dashboard

* feat(register): complete 2FA flow, style register screens, integrate dashboard nav

* chore: sync up registration & 2FA changes

* fix(register): use client‐side query parsing and correct ref callback in 2FA page

* dev code for 2fa testing

* feat(auth): created landing page for log in and register. created log in page

* Fix useEffect dependencies and wrap useSearchParams in Suspense boundary for reset-password page

* User dashboard and settings

* user profile

* Update registration flow and UI styles

* user logout

* Directing to registration page from login page

* path correction

* Added login button on navbar

* Integrate login flow and fix validation in step-2 page

* Fix TypeScript errors and React imports

* upgrade drizzle-kit to latest version

* Integrating authentication into frontend

* resume input added

* User acknowledgments added

* checklist added to user doashboard

* added oarking preferences to user settings

* changed interests and diet restrictions to checkboxes

* improved default options in input fields

* user input university + major info

* improve dashboard layout and email notification fix

* Add admin dashboard with real-time participant management

* fixed file name

* added Google OAuth to register page

* admin dashboard based on user role

* Integrating registration enhancements

* Ensuring reg works on empty db

* Stablizing build

* added volunteer access and separate user sidebar

* Removing schoolEmail from schema and creating function for settings

* Implementing setting change functions

* created admin and volunteer dashboard access

* fixed registration flow and user dashboard

* fixed update participant status and check in function + admin login

* access register page from main site

* login navbar css

* admin status update

* password reset fix

* Improved participant manager functionality

* added suspense boundary for error message

* removed searchParams variable

* added suspense boundary

* accessing registration portal and login page from main site

* change password funct
ionality improved

* mobile flexibility for dashboard

* added shortcut importpath

* resume uploaing fixed

* remove debug logs and prepare code for production

* fix to prevent adding gender rows in gender table

* debug session

* RLS testing

* Added admin dashboard

* remove debug

* rls testing

* rls debug

* debug logging

* using supabase client instead of drizzzle

* fixed column name

* Vercel connection improvement

* Force redeploy with pooled connection

* debugging db

* debug db

* gender mapping

* cleaned up registration flow

* Git check redeploy

* delete account functionality

* status banner content

* settings tab layout

* sidebar button layout

* User profile and settings functionality

* account deeltion functionality

* parking info functionality

---------

Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>

* Workshop management (#80)

* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Implement user‑friendly multi‑step MRUHacks registration flow

* Integrate multi‑step registration flow with context and polished UI

* Participant dashboard

* feat(register): complete 2FA flow, style register screens, integrate dashboard nav

* chore: sync up registration & 2FA changes

* fix(register): use client‐side query parsing and correct ref callback in 2FA page

* dev code for 2fa testing

* feat(auth): created landing page for log in and register. created log in page

* Fix useEffect dependencies and wrap useSearchParams in Suspense boundary for reset-password page

* User dashboard and settings

* user profile

* Update registration flow and UI styles

* user logout

* Directing to registration page from login page

* path correction

* Added login button on navbar

* Integrate login flow and fix validation in step-2 page

* Fix TypeScript errors and React imports

* upgrade drizzle-kit to latest version

* Integrating authentication into frontend

* resume input added

* User acknowledgments added

* checklist added to user doashboard

* added oarking preferences to user settings

* changed interests and diet restrictions to checkboxes

* improved default options in input fields

* user input university + major info

* improve dashboard layout and email notification fix

* Add admin dashboard with real-time participant management

* fixed file name

* added Google OAuth to register page

* admin dashboard based on user role

* Integrating registration enhancements

* Ensuring reg works on empty db

* Stablizing build

* added volunteer access and separate user sidebar

* Removing schoolEmail from schema and creating function for settings

* Implementing setting change functions

* created admin and volunteer dashboard access

* fixed registration flow and user dashboard

* fixed update participant status and check in function + admin login

* access register page from main site

* login navbar css

* admin status update

* password reset fix

* Improved participant manager functionality

* added suspense boundary for error message

* removed searchParams variable

* added suspense boundary

* accessing registration portal and login page from main site

* change password funct
ionality improved

* mobile flexibility for dashboard

* added shortcut importpath

* resume uploaing fixed

* remove debug logs and prepare code for production

* fix to prevent adding gender rows in gender table

* debug session

* RLS testing

* Added admin dashboard

* remove debug

* rls testing

* rls debug

* debug logging

* using supabase client instead of drizzzle

* fixed column name

* Vercel connection improvement

* Force redeploy with pooled connection

* debugging db

* debug db

* gender mapping

* cleaned up registration flow

* Git check redeploy

* delete account functionality

* status banner content

* settings tab layout

* sidebar button layout

* User profile and settings functionality

* account deeltion functionality

* parking info functionality

* Added API endpoints with JWT authentication and role-based access control

* Add workshop management system on admin interface

* updated for Next.js 15+ compatability

* Added delete workshop function + corrected workshop date

* renamed file

* removed duplicate file + fixed workshop exporting

* simplified admin workshop info

* fixed folder name

* update Drizzle config/schema + middleware and remove old Supabase migrations/seeds (#78)

* update Drizzle config/schema & middleware; remove legacy Supabase migrations/seeds; docs+deps updates

* Update ParticipantManagement import path.

* Update ParticipantManagement import path.

* Remove job failing in CI

* Sunny/workshop sign up (#79)

* update Drizzle config/schema & middleware; remove legacy Supabase migrations/seeds; docs+deps updates

* Update ParticipantManagement import path.

* Update ParticipantManagement import path.

* Remove job failing in CI

* create migrations for triggers and functions. Add frontend for user workshop registration.

* Refactor dashboard

* move dashboard files into subfolders.

* add participant name/gender/major to workshop_registrations table + renamed workshop interface

* handle timezone conversion in workshop date formatting

* Create migration to rename users.year_of_study to users.yearOfStudy

* Update migration to conditionally run if items dont exists.

* Update migration to run conditionally.

* update column name

* Use a consistent top nav bar throughout the application.

* Add the ability to go back and forth between form pages. Update profile column names.

* Allow registration retry after failure.

* Add Vercel analytics and speed insights.

* Complete flow (#76)

* Add API contract documentation (#63)

* Add API contract documentation

* HTTP-only cookies for authentication

* removed bearer token

* changed skills to interest

* update team members (#68)

* Replace sponsor popup with direct link to Google Form (#64)

* Replace sponsor popup with direct link to Google Form

* Update sponsor link and optimize JSX

* Implement user‑friendly multi‑step MRUHacks registration flow

* Integrate multi‑step registration flow with context and polished UI

* Participant dashboard

* feat(register): complete 2FA flow, style register screens, integrate dashboard nav

* chore: sync up registration & 2FA changes

* fix(register): use client‐side query parsing and correct ref callback in 2FA page

* dev code for 2fa testing

* feat(auth): created landing page for log in and register. created log in page

* Fix useEffect dependencies and wrap useSearchParams in Suspense boundary for reset-password page

* User dashboard and settings

* user profile

* Update registration flow and UI styles

* user logout

* Directing to registration page from login page

* path correction

* Added login button on navbar

* Integrate login flow and fix validation in step-2 page

* Fix TypeScript errors and React imports

* upgrade drizzle-kit to latest version

* Integrating authentication into frontend

* resume input added

* User acknowledgments added

* checklist added to user doashboard

* added oarking preferences to user settings

* changed interests and diet restrictions to checkboxes

* improved default options in input fields

* user input university + major info

* improve dashboard layout and email notification fix

* Add admin dashboard with real-time participant management

* fixed file name

* added Google OAuth to register page

* admin dashboard based on user role

* Integrating registration enhancements

* Ensuring reg works on empty db

* Stablizing build

* added volunteer access and separate user sidebar

* Removing schoolEmail from schema and creating function for settings

* Implementing setting change functions

* created admin and volunteer dashboard access

* fixed registration flow and user dashboard

* fixed update participant status and check in function + admin login

* access register page from main site

* login navbar css

* admin status update

* password reset fix

* Improved participant manager functionality

* added suspense boundary for error message

* removed searchParams variable

* added suspense boundary

* accessing registration portal and login page from main site

* change password funct
ionality improved

* mobile flexibility for dashboard

* added shortcut importpath

* resume uploaing fixed

* remove debug logs and prepare code for production

* fix to prevent adding gender rows in gender table

* debug session

* RLS testing

* Added admin dashboard

* remove debug

* rls testing

* rls debug

* debug logging

* using supabase client instead of drizzzle

* fixed column name

* Vercel connection improvement

* Force redeploy with pooled connection

* debugging db

* debug db

* gender mapping

* cleaned up registration flow

* Git check redeploy

* delete account functionality

* status banner content

* settings tab layout

* sidebar button layout

* User profile and settings functionality

* account deeltion functionality

* parking info functionality

---------

Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>

* fix nav bar on admin pages.

* fix errors caused by merge.

* Fix property name mismatches in admin dashboard workshop stats

* update import path.

---------

Co-authored-by: Asia Ongjoco <aongj148@mtroyal.ca>
Co-authored-by: Asia Ongjoco <144367704+asiaao@users.noreply.github.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>

* update import

* fix: remove duplicate ParticipantManagement file with incorrect casing

- Removed src/components/admin/ParticipantManagement.tsx (lowercase)
- Kept src/components/Admin/ParticipantManagement.tsx (uppercase)
- This fixes the case sensitivity issue on Vercel deployment

* fix: restore ParticipantManagement component with correct casing

- Restored src/components/Admin/ParticipantManagement.tsx (uppercase)
- Only the lowercase duplicate was removed in previous commit
- This should resolve the Vercel deployment case sensitivity issue

---------

Co-authored-by: Asia Ongjoco <144367704+asiaao@users.noreply.github.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: Asia Ongjoco <aongj148@mtroyal.ca>
Co-authored-by: methlab <methlab006@gmail.com>
Co-authored-by: Sunny Parmar <113143064+aparm539@users.noreply.github.com>

* Refactor registration and settings files for consistency.

* add missing return statement

* Update redirect path.

* UI rounding (#98)

* Round registration banner component. No longer run migration during build as the schema has drifted.

* Round Profile form items

* Round settings and forms UI components

* Update registration layout to make sure items are below header.

* Update /user pages and navbar to have consistent background colour.

* Address Schema Drift in Drizzle Migrations (#101)

* update .gitignore

* Use supabase as source of truth for db migrations. Remove old drizzle migrations and generate new ones based on remote schema.

* Update database configuration and remove unused files

- Added "auth" to the schemaFilter in drizzle.config.ts.
- Remove Drizzle related unused database generation and migration scripts in up package.json.
- Deleted obsolete Drizzle based GitHub workflow for database consistency checks.
- Removed Drizzle based seed script and migration files.
- Updated participant API routes to reflect changes in database schema, including renaming fields for consistency.
- Refactored RegisterFormContext to use updated schema definitions.

* Sunny/registration flow (#99)

* update .gitignore

* Remove email verification.

* Save WIP

* Update migrations.

* Fix Rehydration of gender select option from context.

* Refactor registration flow to centralize auth checks and options loading in context

* Update gender handling to use string instead of number.

* Remove drizzle migrations. (#114)

* Fix workshop export (#100)

Workshop export API was failing with error: "Could not embed because more than one relationship was found for 'workshops' and 'workshop_registrations'"

api/workshops/registrations/export/route.ts now uses separate database queries:

Query workshop details and registrations independently
Combine data in application code rather than relying on Supabase joins

* Improve Loading time on register form (#120)

* Cherry picked seed from sunny/Update_migrations

* Fix sunny's fuckup

* Commit default values to .env.local

Sunny was right this time, we can safely commit this as they always (n=2) the same
when running supabase locally.

* Shitty but working signup with email

* layout fuckkery

* idk man

* Asia/parallel routes (#122)

* Fix workshop export

* merge dev files

* Added parallel routing in admin dashboard

* Moving user/profile and user/dashboard pages to server components (#118)

Co-authored-by: methlab <methlab006@gmail.com>

---------

Co-authored-by: Asia Ongjoco <aongj148@mtroyal.ca>
Co-authored-by: methlab0050 <101669672+methlab0050@users.noreply.github.com>
Co-authored-by: Asia Ongjoco <144367704+asiaao@users.noreply.github.com>
Co-authored-by: methlab <methlab006@gmail.com>
Co-authored-by: Aldo140 <74526535+Aldo140@users.noreply.github.com>
Co-authored-by: Aldo <jorti104@mtroyal.ca>
Co-authored-by: albertaspsc <159397611+albertaspsc@users.noreply.github.com>
Co-authored-by: Thomas Kapocsi <thomas@kapocsi.ca>
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.

3 participants