Inspiration
Our original idea was to create an online collaborative PDF editor. As students in a virtual environment, we often found ourselves needing to edit pdf documents in a group for assignments. Yet, we could not find any easily available collaborative pdf editors and so decided to create our own.
What it does
Our final product, exposes a whiteboard for collaborative use among multiple individuals on the same URL in live time. There is also an option to export the whiteboard to a PNG file. A legacy feature that persists is the uploading of pdf files, originally intended to be part of the PDF editor. Additionally, there is a chat feature included with the whiteboard.
How we built it
To build it, we used the Django framework and Heroku. The online connection was handled through web sockets using Django channels and the whiteboard was created via canvas and javascript.
Challenges we ran into
Obviously, since our original idea was not completed, we ran into challenges with time. A large part is this is that all three major features of our app (working with pdfs, websockets, and the whiteboard) were new to most of our members. So, a considerable amount of time was spent learning these technologies and dealing with bugs. Additionally, once the decision to switch to a whiteboard was made, a large portion of code that was written for pdfs had to be thrown away or refactored. We also ran into lots of problems with integration of our separate systems and a lack of good documentation. All of our separate subsystems were working and complete; however, the integration of these individual pieces proved not possible in the time frame.
Accomplishments that we're proud of
Despite our challenges, we accomplished certain tasks that we did not believe were either possible or feasible without an immense amount of work and stress. In the end, we are most proud to look back on the webhook integration for our collaborative messaging system and the live updates on the whiteboard for individuals in the collaborative url. Overall, we are happy that we created a working and viable end product that a user can benefit from regardless of the difficulties we experienced while developing it.
What we learned
Producing our product was an intensive yet fruitful learning experience for each of us. Each of our team members was challenged with learning tasks that they had little to no experience with. These learning endeavors included JavaScript, Canvas, Django Channels/Websockets, and PDF / PNG wrangling. Despite not being able to produce our final intended product, each of these subsystems was completed well individually, and they lie at the core of our learning experience.
What's next for Janko Collaborative Whiteboard
If given the chance in the future, we would like to expand the app to support its originally intended pdf editing as well as adding more tools for editing.

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