-
Notifications
You must be signed in to change notification settings - Fork 23
How To: Develop the Website
Alexander Ng edited this page Apr 15, 2024
·
19 revisions
!! This page is a work in progress!!
There are a few things that you'll need to run the website locally.
- NodeJS (^v20.xx.xx, recommend to install via nvm or nvs)
- PNPM (^v8.15.7, install via
npm i -g pnpm, pnpm.io) - A PostgreSQL Database (Free from DigitalOcean using your GitHub Students Developer Pack, or run locally via the included docker-compose file)
If you don't know what a docker-compose is, you should use the DigitalOcean offering. - Discord Oauth Credentials (Follow the instructions below: #How to get Discord OAuth Credentials)
- Google Oauth Credentials (Guide from Google)
There are no good guides, so here's one from brilliantdeviation7: message permalink on discord
- Go to the Discord Developer Portal
- Create a new application
- Go to the OAuth2 page
- Press
reset client secretand copy the value - Copy the client id
Something important to note: All development will be done on forks, regardless of whether or not you are a maintainer. Please make sure you keep your fork up-to-date with the latest commit on the upstream (this) repository each time before you begin development. This is very important.
Once you've obtained all of the prerequisites above, you can continue with the following instructions.
- Create a fork of this repository (find the fork button on this page and click it).
Here's a guide on how to fork a repository on GitHub. - Clone the forked repository and enter it with your code editor.
- Create and populate your
.envfile (see the .env.example file for a template)
Git will automatically ignore this file and not upload it to GitHub, so it is safe to store secrets.
Please DO NOT share any secrets you generate for this project. If someone asks you for credentials for this project, direct them to this page. - Run
pnpm install. - Run
pnpm dev. - Profit.
If you need help, please contact a website co-lead or frontend co-lead on Discord for assistance.