Skip to content

A monolithic rewrite of Code2Gather for NUS SoC Technical Interview Preparation (Summer).

Notifications You must be signed in to change notification settings

NUS-SoC-TIPS/backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backend for TIPS

Lint Test

Overview

TIPS is built to support the technical interview preparation for NUS SoC students. Its functionalities include:

  • Collaborative Code Editor with Mock Interview Support
  • LeetCode Question Tracking
  • (Coming Soon) Interview Roleplay with Partner Matching and Question Generation

Getting Started

This project requires Docker and Docker Compose to be installed for the database. We will be using the docker-compose family of commands.

Also, due to the usage of Yarn Berry and the latest ESLint Flag Config, you will need VSCode Insider in order to have IDE support for ESLint. This will be the case until [yarnpkg/berry#6219] is fixed.

  1. Clone this repository:

    git clone [email protected]:NUS-SoC-TIPS/backend.git
  2. Navigate to the project root and install the dependencies:

    cd TIPS-Backend
    yarn install && yarn postinstall
  3. Make a copy of the default .env.template file, name it .env.development and fill it up:

    cp .env.template .env.development
    NODE_ENV="development"
    DATABASE_URL="postgresql://postgres:123@localhost:5433/tips?schema=public"
    JWT_SECRET="some_secret_here"
    PORT=3001
    FIREBASE_PROJECT_ID=
    FIREBASE_CLIENT_EMAIL=
    FIREBASE_PRIVATE_KEY=
    AGORA_APP_ID=
    AGORA_APP_CERTIFICATE=
    JUDGE0_KEY=
    JUDGE0_HOST=
    JUDGE0_CALLBACK_URL=
  4. Setup the database by running:

    yarn db:dev:up
    yarn prisma:dev:setup
  5. Start the application by running:

    yarn start:dev
  6. The REST API and Socket.IO gateway can be found at http://localhost:3001 and ws://localhost:3001 respectively.

  7. If you need to restart the database, i.e. delete all data and recreate, run yrn db:dev:restart.

  8. Please read CONTRIBUTING.md for our commit guidelines.

    The easiest way to start committing is to run the following command anywhere within the project directory:

    yarn commit

    You will be guided through an interactive prompt that will help you craft a beautiful commit message, using commitizen.

Contributors

TIPS is a monolithic rewrite of Code2Gather, the latter of which was originally developed by the following people for NUS CS3219:

About

A monolithic rewrite of Code2Gather for NUS SoC Technical Interview Preparation (Summer).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published