Team Salt and PepperpresentCluster Books
Cluster Books Demo Video
Buy less, read more!
We wanted our app to have a positive social impact in terms of community and sustainability. The purpose of Cluster Books is to enable readers to lend their books to others, and borrow books they want to read that other users might have. We want to promote social interaction through messaging other users and to allow people to read more and buy less!
The Team
Ayda Burrows
Beatriz dos Santos Pardington
Hashim El-Alej
Ima Khan
Kyle Powis
Tom Bryson
Technologies
We used: MongoDB, Mongoose, Node.js, ExpressJS, React Native, Websockets, Tailwind
For the front-end rendering we decided to go with React Native because the functionality for our app lent itself to a mobile app, and React Native is designed to develop for both the iOS and Android platforms. We hoped this would allow us to translate some of our working knowledge and experience with React, while developing a mobile app.
Our database uses MongoDB instead of PSQL, as we found MongoDB allows for more flexibility of both data storage and running search queries.
Challenges Faced
It was tricky to implement instant messaging with the usual http requests, as it would require making regular requests to the database where the messages are stored to find out if a new message has been sent to you.
So we had to use a WebSocket, which enables ongoing, bidirectional communication between a client and a web server. Clients send messages to the server and the server directs the message to the correct user you are contacting. Because the connection remains open the messages can update in real time, allowing for users to chat seamlessly.