Skip to main content

Web App

The web app for Cooper is classic Next.js app.

All of the web app code is in the web package. This package is responsible for handling all the requests that come into the web app. The web app is split into multiple pages.

Pages

Dashboard

The dashboard is the main page of the web app. It allows the user to search for companies and co-op reviews.

The dashboard has two subpages:

  • jobs - This page shows a list of reviews that the user can search through.
  • companies - This page shows a list of companies that the user can search through.

Review

The review page allows the user to write a review for a company. The user can rate the company on various parameters and write a review. The review is then saved to the database.

All of the heavy lifting for the review page is done by the ReviewForm component. On the backend, we ensure that:

  1. The user is authenticated
  2. The passed in id query parameter for the role is valid
  3. The user has a profile associated with them
Profile

Currently, we do not have a user onboarding flow in place. As a result, a user profile is never created. In order to access the review page, you will need to manually create a profile for the user. See Drizzle Studio for more information.