Skip to content

Collaborative code editor for Cloud Computing and Big Data course

License

Notifications You must be signed in to change notification settings

AkM-2018/colab-code-editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

colab-code-editor

Collaborative code editor for Cloud Computing and Big Data course

Single User Flow

Single user flow

  • User logs in
  • User creates a project
  • The new project creates a web-socket connection
  • The new code is saved to DynamoDB (every 5 secs) and periodically to S3

Multiple User Flow

Multiple user flow

  • User logs in
  • User invites another user to the project
  • New user recieves an email and accepts it
  • Now the user is a collaborator for the project
  • The new user is added to the web-socket room and the changes from both users are synced
  • The new code is saved to DynamoDB (every 5 secs) and periodically to S3

Code execution

Code execution

  • User logs in
  • User runs the code (async, gets response immediately. loading icon on FE)
  • Docker container with the required base image is created on EC2 instance
  • Code executed inside the container and the result is saved to DB
  • DB is polled from the frontend

Tables

Tables

Dividing tasks

Pain points

  • Frontend
    • code editor
    • history and diff
    • invite users
    • login
    • code execution
  • Code collaboration
    • working poc
  • Code execution
    • take a python file as an input (for now only py)
    • run the file in a EC2 container
    • store the output in a dynanoDB table
  • Versioning and history

Other tasks

  • Auth (later on)
  • APIs for creating project, user, invite user etc

About

Collaborative code editor for Cloud Computing and Big Data course

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors