Please install the following software
Go our primary backend language.
Node Package Manager our package manager in the frontend.
Docker and Docker Desktop our Postgres Database will be containerized in Docker.
Ngrok Allows us to easily connect the frontend to backend code. Make an account for a stable link!
Create an .env file in the backend directory:
APP_ENVIRONMENT=<LOCAL | PRODUCTION> (use LOCAL if loading env variables through .env file)
APP_PRIVATE_KEY=<Your GitHub app private key>
APP_ID=<Your GitHub app ID>
APP_INSTALLATION_ID=<Your GitHub app installation ID>
APP_WEBHOOK_SECRET=<Your GitHub app's webhook secret>
CLIENT_REDIRECT_URL=<The URL that GitHub should redirect back to>
CLIENT_ID=<The client ID of your GitHub OAuth app>
CLIENT_SECRET=<The client Secret of your GitHub OAuth app>
CLIENT_URL=<The Authorization endpoint of your OAuth provider>
CLIENT_TOKEN_URL=<The access token endpoint of your OAuth provider>
CLIENT_JWT_SECRET=<The Json Web Token secret>
DATABASE_URL=<Your database URL>
Create a second .env file in the frontend root directory:
VITE_PUBLIC_API_DOMAIN=<Your backend url>
VITE_PUBLIC_FRONTEND_DOMAIN=<Your frontend url>
VITE_GITHUB_CLIENT_ID=<The client ID of your GitHub OAuth app>
- Launch Docker Desktop
- In the base of the repo: run
make db-run
- Then, open a new tab to run commands in: run
make backend-dep
thenmake backend-run
- Next, in a new tab run
make ngrok-run
- Finally, open one last new tab: run
make frontend-run
- Launch Docker Desktop
- In the repo root: run
docker compose up --build
- In a new terminal: run
ngrok http --domain={<ngrok public url>} 8080
- In a new terminal: run
cd frontend
- (On first run) In the frontend directory: run
npm i
- In the frontend directory: run
npm run dev