Finding time to work with other students on collaborative coding assignments can be difficult. More so, even if two people are available at the same time doesn't mean that they're necessarily available in the same place.
And, sometimes, coding interviews aren't that great due to miscommunication between interviewers and their candidates.
Wouldn't it be great if there was an online IDE that solves both of these problems in one go?
What it does
collab_space is an online IDE designed for real-time collaboration. It supports the following features:
- Live-updating text editor, supporting multi-person editing at once
- Framework for in-browser compilation, that can support multiple language (demo only includes Python)
- Video and audio communication for instant collaboration vibes
- Automatic persistence of updates to code
Why it does what it does
collab_space is designed to serve three needs:
- Companies looking to interview candidates in technical interviews
- Students who want an easy way to work with other students on the same assignment
- Developers who simply want an easy way to share code with other people
The aforementioned features of
collab_space resolve all three of these problems.
How I built it
I used Meteor to develop reactive components that ultimately resulted in the live-updating text editor. I also used React for the front end and MongoDB for fast database updates. Finally, I use CodeMirror for syntax highlighting, OpenTok for video and audio chat, and, as featured in the demo, Skulpt for in-browser Python compilation.
Challenges I ran into
Implementing video chat is really hard.
Accomplishments that I'm proud of
Eventually implementing video chat, phew!