weijiyang1996 / angular-online-judge

A mini LeetCode with the collaborative feature.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Collaborative Online Judge System

This is a project to implement a web-based collaborative code editor which supports multiple users editing simultaneously.
I designed a single-page web application for coding, running, and compiling problems.
To refactored and improved system throughput, I used decoupling services based on RESTful API and loaded balancing by Nginx.

Tech Stack

Frontend: Angular2 + TypeScript + Bootstrap + Auth0 + ACE
Backend: Socket.io + Express + MongoDB + Redis + Python + Flask + AWS + Nginx + PM2

Project Architecture

Demo

Before sign-in

image1

After authentication

image2

Code excutor

image3

About

A mini LeetCode with the collaborative feature.

License:MIT License


Languages

Language:TypeScript 59.3%Language:JavaScript 21.0%Language:HTML 12.1%Language:Python 5.3%Language:CSS 1.4%Language:Shell 0.7%Language:Dockerfile 0.3%