Inspiration
All the student's coders do not have the same coding environment and some of them don't even have Linux installed. If the student, team, or a community member wants to share code they need to send a file which then needs to be run locally, hence consuming more time. A poor network connection is the biggest hurdle of all due to which the quality of share may be bad and code may not be visible clearly.
What it does
On our platform head/leader will create a room, and will share the invite link. After the room is created a Linux container will be created and all users will be able to access that Linux environment. teammates will join the room, which will put them and the teammate in the same coding environment. Now they can create files and start coding in real time using our online code editor, including syntax highlighting and all other features. Each file can be modified by multiple users at the same time, and changes will be reflected to all the users. ( Google Doc-like but with an IDE ) A dedicated terminal will be accessible to each user inside the same Linux container. Team members will be able to communicate with each other through text and voice chat. All communications will happen through web sockets.
Challenges we ran into
While building the real-time editing feature, we initially started with simple web socket communication. However, this way resulted in many conflicts while merging the edits of all users in a particular room. After surfing through the internet we found an algorithm called OPERATIONAL TRASFORMATION which was used to handle real-time edits on a single file. So we overcome this problem by using the implementation of the same algorithm.
Accomplishments that we're proud of
to build and deploy such a big project in the given timeframe
What we learned
We have learned the importance of collaboration in coding and how it can help bring new innovation while building a project together
What's next for Code&Execute.it</>
to make it more user-friendly and help large people enter one coding environment and enjoy the process of coding with peers. and also make it accessible to more people at the same time and make coding fun and easy at a same time, this also help newbies to learn with their mentors/teachers
Log in or sign up for Devpost to join the conversation.