Team Shelf Indulgence presents Shelf Indulgence

A place for like-minded readers to discuss their love of literature

We came up with the idea for Shelf Indulgence as we felt their was gap in the market for book lovers to share a space online to discuss the books they're interested in. The app provides users with the ability to join book clubs based on their tastes, and engage in discussion with fellow readers about books that the group is reading at the same time.

Discussion is facilitated via message boards within book clubs, and these are split between a general chat for the book club and a message boardto discuss the clubs current read. Users also have the ability to pick any book for the club to read using the Google books API.

Finally, users can create a profile to show off their favourite books and view other users profiles to get an idea of their fellow book club members' tastes.

Shelf Indulgence Demo Video

Shelf Indulgence Demo Video

Team Shelf Indulgence

Rich McveighPreview: Rich Mcveigh

Rich Mcveigh

Myles SmithPreview: Myles Smith

Myles Smith

Asme MussiePreview: Asme Mussie

Asme Mussie

Taryn BilsboroughPreview: Taryn Bilsborough

Taryn Bilsborough

Dan IsherwoodPreview: Dan Isherwood

Dan Isherwood

Alex BeatonPreview: Alex Beaton

Alex Beaton

Tech Stack

We used React Native, Firebase, TypeScript, NodeJS, Expo, Firestore.

We were excited to try creating an app and React Native seemed like the most widely used software for this.

Wanting to try a non-relational database, we did some spiking and decided that Firebase would be a good service to use as it has the added benefit of it's own API and methods, authentication and live updates which is beneficial for the chat service within the app.

TypeScript seems like the industry standard at the moment due to its strong typing which helps developers debug their own code and ensure integrity of the data, so this was a good opportunity to get experience using this language.

Expo was incredibly useful for viewing our app, both on a simulator on the computer and using our phones to optimise functionality for mobile devices.

Adjusting to typescript initially felt like a hurdle but as the project went on we adjusted to its style.

A non-relational database was definitely a change from PSQL and designing the structure was a challenge. Halfway through the project we had to adapt our database and make it slightly more relational than we initially planned.

Working as a team had it's difficulties at the beginning with different experience levels with Trello etc. Through good communication we worked hard together to gel cohesively as a team.

Tech StackPreview: Tech Stack