This readme gives an overview of our project dependencies and explains how to run the project. It also provides some great external resources to use.
NextJS
for routing, api, and react integrationReact
for UI implementationReact Bootstrap
to use bootstrap within reactRedux Toolkit
for state management within reactPrisma
for querying from PostgreSQL databasePassport
for authentication (local and google oauth)Jest
for testingESLint
for linting
Possible dependencies for use in the future
SWR
(stale while revalidate) for managing view updates efficientlydotenv
to load and use environment variablesbcrypt
to compute and compare password hashes
Make sure you've created the prisma client by running the following command. This ensures that you can connect and query from the database. YOU ONLY NEED TO DO THIS ONCE:
npx prisma generate
Run the development server using the following command
npm run dev
Open http://localhost:3000 with your browser to see the result.
You can edit pages by modifying them in the pages
folder. The page auto-updates as you edit the file.
The pages/api
directory is mapped to /api/*
. Files in this directory are treated as API routes instead of React pages.
Pusing to production is done through Vercel. Currently, all production pushes are done through Evan and the latest product should always be hosted at https://project3-prod.vercel.app/.
todo
Before creating a pull request:
- rebase your branch (resolve any conflicts locally)
- make sure all tests are passing
- commit any changes to the branch. After all of your changes have been committed, you can open a pull request on the Project GitHub page.
Please follow the Pull Request template and tag your pull request with the correct tags. Also make sure to add reviewers to your pull request. A breakdown of all of the tags can found here
When you make commits make sure you aren't committing unecessary files. If you make new files but don't want to commit them (like test files) you can add them to the gitignore list. If you do this, make sure you commit the gitignore file changes before you commit changes to any other file.
If you're assigned an issue and you are making a commit that resolves that issue, put the issue number in the commit message. Here is an example:
git commit -m "UPDATE: resolved #13"
This references issue #13 and will automatically close the issue once the branch is merged with main. It also creates a link in the issue itself that links to your commit. ONLY DO THIS ONCE YOU HAVE COMPLETELY RESOLVED AN ISSUE
- Basics
- Designing React UIs
- What is JSX?
- Functional Components vs Class Components
- Interactivity in React
- States in React
- Hooks and how they are used
- todo
- todo