Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
691cd35
Setting up GitHub Classroom Feedback
github-classroom[bot] Sep 30, 2024
00640fd
add deadline
github-classroom[bot] Sep 30, 2024
c683d23
Copy over our peerprep code
NivethaUdayakumar Sep 30, 2024
0463918
added error handling for login failure
Vignesh-30 Oct 1, 2024
59928cf
added backend logic to check and create user upon google login
Vignesh-30 Oct 1, 2024
5fdfc08
Added dockerfiles and changed mongoDB from localhost
Vignesh-30 Oct 2, 2024
ff9d7eb
added env file
Vignesh-30 Oct 2, 2024
86e5c57
Fixed Question Page CSS
NivethaUdayakumar Oct 6, 2024
6db8214
Implemented Loading Page
NivethaUdayakumar Oct 15, 2024
a3931c1
Modified Loading Page Animation
NivethaUdayakumar Oct 15, 2024
6444530
Remove Unnecessary Comments
NivethaUdayakumar Oct 15, 2024
97eb5ed
added front end for accept / decline match and retry / exit matchmaking
Vignesh-30 Oct 17, 2024
e08e69e
Fixed bug in loader
Vignesh-30 Oct 17, 2024
2252c28
Add matching page
SinhaVedant Oct 17, 2024
8cd6f22
add matching service
wjacobw Oct 19, 2024
2c22c50
Updated loading page with SSE logic
NivethaUdayakumar Oct 19, 2024
b4e050b
Update Matching Page
SinhaVedant Oct 19, 2024
dbe3a8f
Merge branch 'main' into integrate
SinhaVedant Oct 19, 2024
2a15ac2
Added email check condition in loading page
NivethaUdayakumar Oct 19, 2024
5a154f6
Added sse for matching service
Vignesh-30 Oct 19, 2024
cb792fb
Add startConsume to LoginPage
SinhaVedant Oct 19, 2024
e29f47e
Fixed bug in sse notifcation for users
Vignesh-30 Oct 19, 2024
afe31ea
add priority matching ( category > difficulty )
wjacobw Oct 19, 2024
3715d4d
add timeout to a request from a specific email
wjacobw Oct 19, 2024
9005bd6
Fixed freezing timer
NivethaUdayakumar Oct 19, 2024
2253bd3
added docker compose and fixed rabbitmq connection and errors for docker
Vignesh-30 Oct 19, 2024
28d1fbf
fix double matching request generated
wjacobw Oct 19, 2024
008c91d
change buttons position
wjacobw Oct 19, 2024
55e3099
fix auto math found page
wjacobw Oct 19, 2024
6fc4aab
Added heading and logout to matching page with css fixes
NivethaUdayakumar Oct 19, 2024
2de70af
Update README.md
NivethaUdayakumar Oct 19, 2024
9793727
Modified countdown to 30s
Vignesh-30 Oct 20, 2024
363181b
Added POST request to retry button
NivethaUdayakumar Oct 20, 2024
532c61e
Fixed bugs in matching service for old timeouts being stored after match
Vignesh-30 Oct 20, 2024
6b96129
remove match by dif
wjacobw Oct 20, 2024
d2a0d21
remove 60 seconds timeout when matching users
wjacobw Oct 20, 2024
2cb86bd
Debugging errors in decline integration
Vignesh-30 Oct 20, 2024
f209c68
Fixed bugs in decline integration
Vignesh-30 Oct 20, 2024
512748c
Fixed bugs in decline being sent to multiple listeners
Vignesh-30 Oct 20, 2024
762cc7d
fixed retry bug after decline
Vignesh-30 Oct 20, 2024
51fa877
merging decline match integration
Vignesh-30 Oct 20, 2024
5f4f2fa
Fixed bugs in retry
Vignesh-30 Oct 20, 2024
2cae40a
Added integration for accepting match between two users
Vignesh-30 Oct 25, 2024
4e477ed
Modified rabbitmq url for docker container
Vignesh-30 Oct 25, 2024
a2f02ee
merging accept match integration
Vignesh-30 Oct 27, 2024
a22ef49
Added unique room generation once match has been found and accepted
Vignesh-30 Oct 28, 2024
60f0118
Added Cancel Match to Loading Page
NivethaUdayakumar Oct 31, 2024
69eb071
Added Collaboration Page Components and Standardize UI
NivethaUdayakumar Oct 31, 2024
4f6d02f
Added Profile Button
NivethaUdayakumar Oct 31, 2024
42eedef
Implemented Frontend for Collaboration Service
NivethaUdayakumar Oct 31, 2024
b6c66b6
add live collaboration
wjacobw Nov 2, 2024
484e9c5
add collaboration service
wjacobw Nov 2, 2024
7ecdb08
added redirection if invalid room id is entered and updated docker co…
Vignesh-30 Nov 2, 2024
eec63ec
add syntax formatting
wjacobw Nov 2, 2024
162a1e8
Merge branch 'main' of github.com:CS3219-AY2425S1/cs3219-ay2425s1-pro…
wjacobw Nov 2, 2024
e5289e2
Fixed integration for d5 frontend and backend for questions loading a…
Vignesh-30 Nov 3, 2024
a44d357
Partial rabbitmq integration for event driven added
Vignesh-30 Nov 3, 2024
21331cd
Finished event driven implementation up to D4
Vignesh-30 Nov 3, 2024
0c99f1b
Finished implementing event driven architecture for match found and d…
Vignesh-30 Nov 4, 2024
068613a
Finished adding event driven
Vignesh-30 Nov 4, 2024
584f5fa
Merge pull request #2 from CS3219-AY2425S1/event_driven_architecture
Vignesh-30 Nov 5, 2024
186a458
Add ChatWindow UI
SinhaVedant Nov 5, 2024
1212c89
Inialize chat-service
SinhaVedant Nov 5, 2024
55fdec8
Implemented N6: ChatGPT Feature
NivethaUdayakumar Nov 5, 2024
daa1cd8
Implement N1
SinhaVedant Nov 5, 2024
f074d48
Merge branch 'main' into chat-service
SinhaVedant Nov 5, 2024
1f16789
Modified docker compose for frontend to depend on chat service
Vignesh-30 Nov 6, 2024
b8d4ae6
N6: Replaced ChatGPT with Google Gemini API
NivethaUdayakumar Nov 6, 2024
8f1b303
Changed style for select language button during collaboration
Vignesh-30 Nov 6, 2024
dd46aa5
Moved question solutions to matching page and accounted for overflow …
Vignesh-30 Nov 6, 2024
066d6e3
Removed blocking for loading page and unused dtos and endpoints
Vignesh-30 Nov 7, 2024
160fd15
add persistance in collaboration page
wjacobw Nov 9, 2024
15861a1
reset cache after submit
wjacobw Nov 9, 2024
badb9fe
add mapping and set default value of language syntax according to sel…
wjacobw Nov 9, 2024
cada170
add file upload check
wjacobw Nov 9, 2024
a1a8580
add bouncer to stop recursive all
wjacobw Nov 10, 2024
1519b77
Fixed Gemini API Chatbot Functionality
NivethaUdayakumar Nov 11, 2024
db81f32
Added Persistance to Chat Window
NivethaUdayakumar Nov 11, 2024
52ffbe4
Fixed bugs in question categories, same user getting matched to himse…
Vignesh-30 Nov 12, 2024
6182f29
Modified questions table headers and data to include language of solu…
Vignesh-30 Nov 12, 2024
f2040f7
Added difficulty tracker for completed questions
Vignesh-30 Nov 12, 2024
7aa5841
final commit
wjacobw Nov 12, 2024
5a30e86
FIxed bugs and implemented stats on profile page
Vignesh-30 Nov 12, 2024
704f70f
Merge branch 'main' into profile_page_stats_and_bug_fix
Vignesh-30 Nov 12, 2024
9e9c0c7
Merge pull request #3 from CS3219-AY2425S1/profile_page_stats_and_bug…
Vignesh-30 Nov 12, 2024
5456c8e
Added graphs for profile page
Vignesh-30 Nov 13, 2024
f41704f
Minor colour changes to modal
Vignesh-30 Nov 13, 2024
0ec4b9a
Added admin users for crud on questions page
Vignesh-30 Nov 13, 2024
eba4c49
Added Navigation for Matching and Question Page
NivethaUdayakumar Nov 13, 2024
c93632b
Added Navigation for Matching and Question Page
NivethaUdayakumar Nov 13, 2024
619062a
Removed debugging prints and added language updates from collab edito…
Vignesh-30 Nov 13, 2024
8c8865d
Removed create user endpoint since user is created from auth endpoint…
Vignesh-30 Nov 13, 2024
743cb6e
fix blinking
wjacobw Nov 13, 2024
49c9873
Merge branch 'main' of github-account2:CS3219-AY2425S1/cs3219-ay2425s…
wjacobw Nov 13, 2024
4246ffc
Removed Format Button
NivethaUdayakumar Nov 13, 2024
850ca5a
removed console logs that printed backend info
Vignesh-30 Nov 13, 2024
7760026
Merge branch 'main' of github.com:CS3219-AY2425S1/cs3219-ay2425s1-pro…
Vignesh-30 Nov 13, 2024
cef26f1
Added alert to notify Gemini API enabled
NivethaUdayakumar Nov 13, 2024
452bb15
Merge branch 'main' of https://github.com/CS3219-AY2425S1/cs3219-ay24…
NivethaUdayakumar Nov 13, 2024
0518c93
maade request data optional when navigatig from new tab
Vignesh-30 Nov 13, 2024
603958b
Added readme file
Vignesh-30 Nov 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
16 changes: 11 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
[![Review Assignment Due Date](https://classroom.github.com/assets/deadline-readme-button-22041afd0340ce965d47ae6ef1cefeee28c7c493a6346c4f15d667ab976d596c.svg)](https://classroom.github.com/a/bzPrOe11)
# CS3219 Project (PeerPrep) - AY2425S1
## Group: Gxx
## Group: G49


### Instuctions to run the application
- Clone the project from github
- Navigate to the main folder `cs3219-ay2425s1-project-g49` that contains `docker-compose.yml` file
- Run the following command to start the application: `docker-compose up -d`
- To rebuild images and start the application: `docker-compose up -d --build`



### Note:
- You can choose to develop individual microservices within separate folders within this repository **OR** use individual repositories (all public) for each microservice.
- In the latter scenario, you should enable sub-modules on this GitHub classroom repository to manage the development/deployment **AND** add your mentor to the individual repositories as a collaborator.
- The teaching team should be given access to the repositories as we may require viewing the history of the repository in case of any disputes or disagreements.
Binary file added backend/.DS_Store
Binary file not shown.
25 changes: 25 additions & 0 deletions backend/chat-service/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
project: 'tsconfig.json',
tsconfigRootDir: __dirname,
sourceType: 'module',
},
plugins: ['@typescript-eslint/eslint-plugin'],
extends: [
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended',
],
root: true,
env: {
node: true,
jest: true,
},
ignorePatterns: ['.eslintrc.js'],
rules: {
'@typescript-eslint/interface-name-prefix': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-explicit-any': 'off',
},
};
56 changes: 56 additions & 0 deletions backend/chat-service/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# compiled output
/dist
/node_modules
/build

# Logs
logs
*.log
npm-debug.log*
pnpm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# OS
.DS_Store

# Tests
/coverage
/.nyc_output

# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace

# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# temp directory
.temp
.tmp

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
4 changes: 4 additions & 0 deletions backend/chat-service/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"singleQuote": true,
"trailingComma": "all"
}
13 changes: 13 additions & 0 deletions backend/chat-service/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
FROM node:20-alpine

WORKDIR /app/chat-service

COPY package.json .

RUN npm install

COPY . .

EXPOSE 3003

CMD ["npm", "run", "start:dev"]
99 changes: 99 additions & 0 deletions backend/chat-service/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
<p align="center">
<a href="http://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo-small.svg" width="120" alt="Nest Logo" /></a>
</p>

[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456
[circleci-url]: https://circleci.com/gh/nestjs/nest

<p align="center">A progressive <a href="http://nodejs.org" target="_blank">Node.js</a> framework for building efficient and scalable server-side applications.</p>
<p align="center">
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/v/@nestjs/core.svg" alt="NPM Version" /></a>
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/l/@nestjs/core.svg" alt="Package License" /></a>
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/dm/@nestjs/common.svg" alt="NPM Downloads" /></a>
<a href="https://circleci.com/gh/nestjs/nest" target="_blank"><img src="https://img.shields.io/circleci/build/github/nestjs/nest/master" alt="CircleCI" /></a>
<a href="https://coveralls.io/github/nestjs/nest?branch=master" target="_blank"><img src="https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9" alt="Coverage" /></a>
<a href="https://discord.gg/G7Qnnhy" target="_blank"><img src="https://img.shields.io/badge/discord-online-brightgreen.svg" alt="Discord"/></a>
<a href="https://opencollective.com/nest#backer" target="_blank"><img src="https://opencollective.com/nest/backers/badge.svg" alt="Backers on Open Collective" /></a>
<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://opencollective.com/nest/sponsors/badge.svg" alt="Sponsors on Open Collective" /></a>
<a href="https://paypal.me/kamilmysliwiec" target="_blank"><img src="https://img.shields.io/badge/Donate-PayPal-ff3f59.svg" alt="Donate us"/></a>
<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg" alt="Support us"></a>
<a href="https://twitter.com/nestframework" target="_blank"><img src="https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow" alt="Follow us on Twitter"></a>
</p>
<!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)
[![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->

## Description

[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.

## Project setup

```bash
$ npm install
```

## Compile and run the project

```bash
# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod
```

## Run tests

```bash
# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov
```

## Deployment

When you're ready to deploy your NestJS application to production, there are some key steps you can take to ensure it runs as efficiently as possible. Check out the [deployment documentation](https://docs.nestjs.com/deployment) for more information.

If you are looking for a cloud-based platform to deploy your NestJS application, check out [Mau](https://mau.nestjs.com), our official platform for deploying NestJS applications on AWS. Mau makes deployment straightforward and fast, requiring just a few simple steps:

```bash
$ npm install -g mau
$ mau deploy
```

With Mau, you can deploy your application in just a few clicks, allowing you to focus on building features rather than managing infrastructure.

## Resources

Check out a few resources that may come in handy when working with NestJS:

- Visit the [NestJS Documentation](https://docs.nestjs.com) to learn more about the framework.
- For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy).
- To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/).
- Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks.
- Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com).
- Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com).
- To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs).
- Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com).

## Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support).

## Stay in touch

- Author - [Kamil Myśliwiec](https://twitter.com/kammysliwiec)
- Website - [https://nestjs.com](https://nestjs.com/)
- Twitter - [@nestframework](https://twitter.com/nestframework)

## License

Nest is [MIT licensed](https://github.com/nestjs/nest/blob/master/LICENSE).
8 changes: 8 additions & 0 deletions backend/chat-service/nest-cli.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"$schema": "https://json.schemastore.org/nest-cli",
"collection": "@nestjs/schematics",
"sourceRoot": "src",
"compilerOptions": {
"deleteOutDir": true
}
}
Loading