Collaborative code editor for Cloud Computing and Big Data course
- 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
- 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
- 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
- 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
- Auth (later on)
- APIs for creating project, user, invite user etc



