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:
- The user is authenticated
- The passed in
id
query parameter for the role is valid - The user has a profile associated with them
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.