I was actually irritated with sharing codes on whatsapp and other chat application because it is a very inefficient way of sharing code or discussing any Topic or concept in Coding. So i thought of building a effiicient way to promote peer learning in this quarantine which would not only help individuals but also help teachers to live connect with any peer and ask them to come up on the app and code live.

What it does

It connects two people on a common WebRTC server and now those two people can communicate live with video calling and the app has and IDE support with a canvas on its side. So basically if i write code on that IDE the writing and editing of code will take place live to other user connected and the other user will be able to see all the changes live.. Also if User is unable to make other user understand what he is saying then the user can draw the logic on the canvas board to make user understand what he's actually trying to say.

How we built it

i user React.js for frontend Node.js (Express.js) for backend Firebase for Realtime transfer of data and mouse coordinates WebRTC for video calling support P5.js library for canvas drawing feature typescript and javascript for ES6 coding in frontend and backend

Challenges we ran into

The WebApp was initiallly slow when i used transfer of data with but then i improved it by using Firebase Realtime Database. Also sending Drawing points from one point to another in a common WebRTC server was also a big deal initially but then moving and pushing the limits helped me to optimise it to a level of 60% faster and accurate than before.

Accomplishments that we're proud of

Acheiving the working of canvas drawing support in WebApp that too in Realtime to other user also was the highlight of the project.

What we learned

I learned few more concepts of javascript and got my hands dirty on typescript.

What's next for PeerCode IDE

there is a future scope of using CRDTS( complex free replicated data types ) and a group video chat feature. Currently only two people can connect at a time.

Built With

Share this project: