Relevvo Engineering Test

This is my submission for the Revevvo Engineering Test, specifically the front-end variation. It aims to demonstrate competency with Javacript, React, cloud technologies such as Firebase and Vercel, and other tools used in every-day full-stack engineering.

See test instructions here: https://github.com/relevvo/relevvo-test

This demo application shows what a Yelp-like geo-aware application might do: Users saving and publishing information about their favorite shops, discovering and learning about shops closeby, and contributing meta information related to those entities, in this case simply recording a 'Like'.

A more complete version might allow Vendor and Customer User types to interact with each other, with different access rights and user experiences. For example a Vendor might publish a promotion for Customers to discover, share meta data about and possibly register usage.

Instruction

Current UX flow involves the User starting the application, logging in via Google, recording their location, browsing to the list of Stores to find closest existing Stores, viewing details, registering Like's and obtaininig mapping/navigation details.

A (logged in) User can also publish new Stores along with GPS coordinate (hint: grab those from the google maps url), and delete those Store entries that they themselves created.

In a more complete application a mapping API would be used to assist the User in finding businesses and obtaining those GPS coordinates.

Entities

Stores: Name, GPS location and other information published by Users. Also holds additional meta-information contributed by others, in this case Like's.

Users: Actors of the application. Holds information related to Authentication and Location. Not much of this data is currently surfaced in this demo but showing User's names and profile pics, Store ownership, current location, and similar features would be easy to implement.

Auth, Geo and main functionality

Main functionality
View list of Stores
(This would be the main page of the app)

Auth status: Not logged in


(Enable pop-ups)

Current location: Unknown

(Grant browser's request for location)