Routing & auth

Routing

Top-level routing lives in client/src/App.js.

  • / redirects based on auth state (/app/home vs /signin)
  • /app/* is the main logged-in area
  • /partner/* is the Partner Dashboard area

Auth state

Auth state is managed by AuthContext:

  • client/src/components/authentication/AuthContext.js

Key behaviors:

  • Tokens are stored in localStorage under tokens
  • On app load, the context loads tokens and sets checkedStorage
  • Tokens are refreshed periodically using the refresh token

Partner access gating (frontend)

Partner routes are protected by PartnerRoute:

  • client/src/components/partner/utils/PartnerRoute.js

Partner routing lives in:

  • client/src/components/partner/PartnerApp.js