Team CTRL - freakspresentSideQuest
SideQuest Demo Video
Roam, Uncover . Conquer the City ! - SideQuest. Where Adventure Meets Knowledge
SideQuest emerged from our team CTRL-Freaks brainstorming ideas and weaving them together. Our mission was to change how people explore a city. We envisioned a dynamic app that fuses entertainment and education, providing users with a fresh way to engage with their urban surroundings.
Our app, SideQuest, transforms the city into an expansive quest, where users navigate through quests marked on a dynamic map. These quests go beyond regular destinations; they are interactive challenges that encourage users to actively explore and discover interesting facts about the city.
The quests prompt users to explore different areas for information needed to progress. This not only adds adventure but ensures active engagement with their surroundings. Completing quests unlocks more, creating a continuous cycle of exploration!
To make the journey rewarding, we introduced trivia knowledge rewards. Conquering quests accumulates fun facts about the places users have explored, adding an entertaining and educational element to the experience.
In essence, SideQuest is more than an app; it’s a dynamic city exploration game that revolutionises how we interact with prominent landmarks.
It’s the outcome of collaborative brainstorming, converging ideas, and a commitment to providing users with a fun, immersive, and knowledge-enriched journey through the heart of the city.
The Team
Nicola Mazuryk
Alexis Crepsley-Fox
Jemima Fayokun
Inderpreet Sandhu
Kasha Malloy
Felix Sewell-Knight
Technologies
We used: Expo, React-Native, Firebase, Tailwind/NativeWind, React-Native-Maps,
We chose to use React-Native as our framework primarily due to its similarities to React for web development, allowing for a smoother transition for our workflow.
React Native had the added benefit of smoothly integrating with Expo, a platform with many built in tools that allowed us to easily host development builds and work on our app with live updates.
For our database we chose to use Firebase for non sequal cloud based hosting. This gave us increased flexibility for our data storage and provided useful tools to create and authenticate users, allowing each player to have a unique profile and progression.
One of the most important components of the app was the integration of a map to display quest locations and routing as the game unfolded. To accomplish this, we opted for React Native Maps and React Native Maps directions libraries due to their smooth integration with React Native- in conjunction with the Google Maps API.
Challenges Faced
Firebase authentication - due to us choosing to only use SMS authentication was not as simple as using regular email/password sign up and authentication. SMS authentication required different setting up for both iOS and Android
Keeping within the free tier of Firebase - Re-rendering of React components and multiple API calls caused an excess of database reads.
Emulation and making the design suitable for both Android and IOS
Re-routing to a next quest and triggering the React-Native-Maps to render correctly
Getting the App to re-render with the correct updated quest changes to the database