Inspiration
Often during team contests or competitions we end up working solo and could not work together as a team all the time . Thus we have come up with a solution to make the team work easy and efficient . Furthermore , our solution is not only that but our solution can also be used a platform for taking technical interview as it come up with collaborative code editor along with chat implementation.
Our Solution
Peer coding has always been in trend , since it helps users to help each other along the process .Thus , We are building an application for helping user code with their peers . We have included various features . We are using socket.io for building collaborative code editors and creating rooms and for the working of chat . We are using react-ace-editor npm package for including code-editor in our application. We are including authentication along with guest login , so that users can try our application before actually logging in. Backend is mainly built using express ( A node runtime framework ). We are using a postgresql database , we could have used a nosql database like mongodb but considering the future aspects of our application , we might need to join various tables in the database so postgresql is a better alternative in that case thus we have used it. Further we are also scraping problems from different websites (Like : Leetcode , codeforces etc.) and presenting them to the users , and users can submit the solution to the problem in the website itself. For this we are using the already existing apis of these platforms. We are using Typescript to build this application for making the application robust and bug-free as we have to define types as we write code.
How we built it
Being a team of beginner developers , we were not very well aware of various technologies like Typescript , sockets . Thus we tried to learn them by building mini projects ( ex : chat application etc.) .
Later we gathered to plan how we are going to implement the idea .
Thus we started focusing on building an user friendly UI using React with Typescript. We used typescript for making the application robust and bug-free as we have to define types as we write code.
We used Material UI for fast and easy implementation of various react components and so that we can focus more on the logical part of the application. Then we progressed to write the code for backend of the app , write some standard socket.io code in typescript for joining and exiting room with particular room-id and chatting inside a room.
Later we used cheeriojs to scrape problems using the url from codeforces .
Once development was done , we started deploying our app but faced many issues in hosting backend and frontend differently and were not able to provide the frontend access of origin but later we successfully hosted frontend on netlify and backend on heroku respectively.
Then we worked on making the presentation for presenting our project to the judges in a better way.
Challenges we ran into
Being a team of beginners there were various technologies that we had to learn in a short period of time. (Like sockets, typescript, etc. ) Since everyone's learning curve is different, it was a challenge to work as a team efficiently. Thinking of delivering the best possible codebase, we decided in using best practices and faced various problems in that like dynamically stating types in typescript was quite a challenge in various situations Building a full-stack app with a clean UI in such a short period of time was quite a challenge since we were coding literally the whole day, communicating with the team. We faced a communication gap but eventually overcame this and built this amazing app which can come handy in real word use also.
Accomplishments that we're proud of
We are proud that we were able to complete the project within provided time constraint as we were quite worried about it since most of the technologies we used in implementing our idea were new to many of us. Moreover , learning new technologies in such a short period of time and making a project out of it is what we are proud of.
What we learned
Worked with various new technologies like socketio , typescript. Learnt and built team managing qualities.
Built With
- cheeriojs
- codeforces-api
- jdoodle-api
- materialui
- node.js
- passportjs
- postgresql
- react
- socket.io
- socket.io-client
- styled-components
- typescript


Log in or sign up for Devpost to join the conversation.