Skip to content
Wang Xinyi edited this page Aug 27, 2024 · 18 revisions

Getting Started

Welcome to the CRISP (Classroom Repository Interaction and Status Platform) developer guide. We appreciate your interest in contributing to our project! This guide will help you get started with setting up the project, making changes, and submitting those changes for review.

Requirements

Before you begin, make sure you have the following installed:

  • Git: For version control
  • Node.js: JavaScript runtime (use Node 18 LTS or later)
  • npm or yarn: Package manager to install dependencies
  • MongoDB: Our chosen database
  • Docker: Container to build and deploy app quickly

Familiarize yourself with the technologies we use:

  • Git and GitHub
  • Node.js
  • TypeScript
  • Next.js (TypeScript)
  • MongoDB
  • Docker

Repo Structure

The CRISP repo is structured as follows:

  • /multi-git-dashboard: Contains the source code for the CRISP web application.
  • /backend: Contains the server-side code that provides APIs and interacts with databases.

Environment Setup

Setup the env files for both the frontend and the backend . Create env file named ".env.development".

Frontend:

  • GITHUB_APP_ID: --Steps here--
  • MONGODB_URI: mongodb://localhost:27017/crisp
  • DB_NAME: crisp
  • NEXTAUTH_SECRET: --Generated key from local terminal$ openssl rand -base64 32--
  • NEXTAUTH_URL: http://localhost:3002
  • NODE_ENV: development
  • NEXT_PUBLIC_DOMAIN: localhost
  • NEXT_PUBLIC_BACKEND_PORT: 3002
  • BACKEND_PORT: 3003

Backend:

  • GITHUB_APP_ID: --Steps here--
  • GITHUB_APP_PRIVATE_KEY: --Individual CRISP Orgnization GitHub App Secret Key--
  • GITHUB_APP_INSTALLATION_ID: --Ask current developers for help--
  • MONGODB_URI: mongodb://localhost:27017/crisp
  • PORT: 3003
  • RUN_JOB_NOW: true
  • NEXTAUTH_SECRET: --Generated key from local terminal$ openssl rand -base64 32--
  • NEXTAUTH_TOKEN_HEADER: next-auth.session-token
  • GOOGLE_CLIENT_EMAIL: crisp-web@rising-solstice-414305.iam.gserviceaccount.com
  • GOOGLE_PRIVATE_KEY: --Ask current developers for help--
  • FRONTEND_URI: http://localhost:3002
  • CLIENT_ID: --Ask current developers for help--
  • CLIENT_SECRET: --Ask current developers for help--
Clone this wiki locally