Skip to content

ruy1su/Microsoft-Capstone

 
 

Repository files navigation

Sophons

A read-time, browser-based collaborative online editor. The project is online: https://sophons.herokuapp.com

This is the git repo for Microsoft Capstone Project: https://github.com/shunjizhan/Microsoft-Capstone

The final version is in folder Public/Chat_Monaco

Project name: Sophons
Team members: Shunji Zhan, Bo Luan, Chunqing Liu, Zixia Weng, Zehao Li
University of California, Santa Barbara
Mentor: Microsoft

Primary product features:

  1. Real-time collaboration and synchronization
  2. Save and upload files from/to local locations and Google Drive
  3. Handle multiple files in a project
  4. Auto-saving
  5. Chatting

Major technologies
Monaco Editor: https://microsoft.github.io/monaco-editor/index.html
Socket.io
Node.js
Microsoft Azure Table Storage

alt text

To host the server:
Set environment variables by running each line of readdddddd.sh in the terminal.
(Unfortunately, the current credential may be invalid. We are trying to switch to a new service.)
And then run node index

Major work is put in html and javascript code files in js folder
Webpage
index.html - entry page
indexx.html - main page
Server side
index.js - server setup: host socket.io session and interactions (receive and send); express.js routing; Microsoft Azure Storage interactions;
Client side
load_socket.js - loading socket.io and deal with user infomation and chatting messages
create_Monaco.js - core functions (everything about the editor)
gdrive.js - Google drive interactions
route.js - routing functions
themes.js - changing themes
left-bar.js - left-bar interactions
ping.js - socket.io latency measurement and dealing with disconnection
(socket.js) - a local version of socket.io in case it the online version is inaccessible

About

A real-time, browser-based collaborative online editor

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 96.5%
  • CSS 3.1%
  • Other 0.4%