Team Six
presentReviewAR

ReviewAR Demo Video

ReviewAR Demo Video

Discover places near you

ReviewAR is an innovative cross-platform mobile app designed to change how users experience and interact with reviews through the immersive realm of Augmented Reality.

We wanted a way for users to engage with reviews. Traditional platforms often limit the user experience to a static interface. Our idea was to create a dynamic and immersive solution that would blend real-world locations with user-generated reviews, enhancing the decision-making process for users. As users navigate with an intuitive interface, location specific reviews dynamically appear. Users can seamlessly share their thoughts. No more endless review scrolling!

The Team

  • Team member imagePreview: Team member image

    Semih Suran

  • Team member imagePreview: Team member image

    Karl Dando

  • Team member imagePreview: Team member image

    Gurpreet Singh

  • Team member imagePreview: Team member image

    Bill Keays

  • Team member imagePreview: Team member image

    Kelvin Ung

Technologies

Technologies section imagePreview: Technologies section image

Backend is an Express server API for a PostgreSQL database storing the users, venues and reviews. Built using TDD, Jest, Supertest. Hosting : ElephantSQL, Render

PostgreSQL (psql): Chosen for its robustness and open-source nature, PostgreSQL offers powerful database functionality at no additional cost, supporting complex data types and large volumes of data efficiently.

Node.js: Our backend is built on Node.js due to its non-blocking architecture and JavaScript compatibility, streamlining our development process and enhancing application responsiveness through its extensive library ecosystem.

Express: Selected for its minimalism and flexibility, Express, a lightweight Node.js framework, facilitates efficient web and API service development, improving our app's performance and user experience.

React Native: Enables cross-platform app development with a single JavaScript codebase, broadening our user base and offering a seamless, native-like UI experience across all mobile devices.

Viro: Our choice for AR development, prized for its cross-platform support and no-cost accessibility, aligning with our educational goals despite some documentation challenges.
GoogleMaps API: Used for geolocation features in combination with React Native Maps library

Haversine Formula: Utilised for calculating the shortest distance between two geographical points, enhancing the accuracy and relevance of our app's location-based features.

Challenges Faced

Working and testing on different operating systems led to many compatibility issues
IOS/Android/Mac/Linux/WSL - to overcome this we tested our branches with the different operating systems and used conditional rendering based on the platform where necessary to ensure we avoided compatibility issues.

As well as Viro being functionally limited, its outdated documentation made it difficult to program ReviewAR. Some components/styling/libraries that work with React Native were incompatible with Viro layered with the difficulty of simply finding a component you were looking for - to combat this we utilised Paired and Mob programming during the AR scene coding. By working together we were able to debug our code and complete our MVP.

Pushing to GitHub proved to be a problem due to us working asynchronously from time to time. This led to some of us working on different commits and versions which made it increasingly hard to implement various changes to GitHub. Overcame this by using logical branching and pull requests to protect our main branch.

FAQs

  • What would you add to the app if you had more time?

    We all had many additional features in mind when creating this app but limited by time and budget. We would focus on UI/stylistic changes to make this app more aesthetically appealing for the user; making the AR Scene more user friendly e.g. showing an arrow pointing you to your nearest venue when outside the vicinity of one and finally possibly using an API akin to Google’s Maps API or TripAdvisor’s API to gain access to real world reviews and to improve ReviewAR’s scalability.