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
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.
-
Clone this repository:
git clone [email protected]:NUS-SoC-TIPS/backend.git
-
Navigate to the project root and install the dependencies:
cd TIPS-Backend yarn install && yarn postinstall
-
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=
-
Setup the database by running:
yarn db:dev:up yarn prisma:dev:setup
-
Start the application by running:
yarn start:dev
-
The REST API and Socket.IO gateway can be found at
http://localhost:3001
andws://localhost:3001
respectively. -
If you need to restart the database, i.e. delete all data and recreate, run
yrn db:dev:restart
. -
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
.
TIPS is a monolithic rewrite of Code2Gather, the latter of which was originally developed by the following people for NUS CS3219: