Inspiration

We found ourselves wishing there was a way to share code with each other and show our changes to it in real time, especially during lectures and demonstrations.

What it does

From the home page, you can either create a room - giving you a new code editor and room number to share with others - or you can enter a room number to join an existing project and work together on the same piece of code.

I should clarify: this isn't intended for major projects. The point of this site is so that students and mentors can share short pieces of code, and show each other their issues and solutions.

How we built it

The back end uses node.js, which makes handling different types of requests easier than using PHP would have done. The rooms functionality and updating code is handled using socket.io, which makes two-way http communication possible.

Challenges we ran into

Our original idea was too ambitious, so there were some things we didn't add, but we managed to get the most important aspects, for example the collaboration, finished.

Accomplishments that we're proud of

We created a tool that we think could be used to make online practicals and group studying easier.

What we learned

That other programmers apparently don't sleep.

We've all gained valuable experience working with libraries and frameworks like socket.io, express and bootstrap, and in working collaboratively with others.

What's next for CodeCollab

The goal was to make a proper IDE, which means syntax highlighting, auto-indentation and so on in the editor and a runtime environment either within the browser or on the server and using websockets for I/O. You can see our GitHub issues page for more information.

Share this project:

Updates