Context

CMUEats plans to add a review system where users must be logged in to create or update a review. Users will be able to access all other aspects of the site with or without being logged in. Using Google OAuth, we only care about authentication, not authorization to Google services. Hence, a one-time code exchange pattern detailed in the user flow below is enough.

High-Level Layout

Frontend

Backend

User Table

Login flow