The Ward Fan ClubpresentCoCreate
CoCreate is a live web editor which allows users to collaborate with team mates to brainstorm ideas and edit documents. Through an intuitive and streamlined interface, users can easily create documents and invite collaborators to edit along with them. Each document has access to a wide variety of editing options allowing for the creation of professional looking document pages all of which will happen in real time for all collaborators to see. Collaborators can also add comments to certain parts of the document allowing for real time feedback between each team member. All documents can then be saved and re-accessed by any team member at any time.
We made CoCreate to offer people a smooth and simple way to collaborate in real time with other members, no matter where they may be in the world.
The Team
Darren
Harry Hadcroft
Kabeh
Sodik Abdullaev
Tayo Adekunle
Technologies
![Technologies section image](https://images.prismic.io/northcoders/ZhP9phrFxhpPBX5m_CoCreate.png?auto=compress%2Cformat&fit=max&q=60&w=800)
We used: For the frontend we use a combination of Vue.js, Yjs, tiptap and tailwind for the styling. For our backend we used a combination of fastAPI and Bcrypt which we written using python and PostgreSQL for the database
We knew from the beginning that this tech stack would be tricky as none of us has much experience with any of the technologies. However when researching for our app, we decided that these would be the best options to go with. We chose the combination of Yjs and Tiptap as they provided a lot of collaborative features which we could implement into our app. We chose Vue as it seemed to work well for single page applications which is what we had in mind going into this project. For the backend we chose to use fastAPI as it was very well documented and fit together well with our PostgreSQL database. Bcrypt offered a nice way to hash our users passwords so they could be securely logged in.
Challenges Faced
We faced many challenges during this project. One of the main ones was the collaborative element that we wanted to implement. We underestimated the difficulty of trying to implement this feature at the beginning of the planning phase and had to spend quite a lot of time researching how to properly implement it. We flipped from multiple different technologies throughout the week, but eventually settled on tiptap which ended up working out nicely. Another challenge was working with Vue as none of us had experience with it and having to switch from React to Vue proved to be quite challenging for everyone on the team.