A React Native app designed to allow users to explore live events happening in a city of their choosing
🛑 This project is a work in progress, but feel free to check out the progress made so far!
Prerequisites:
- The Expo CLI must be installed on your system
- You must have access to the SeatGeek API
Steps:
- Clone Repository
- Install dependencies with
npm install
oryarn
- Create a
.env
file with the following Key/Value pairs:
REACT_APP_SEATGEEK_CLIENT_ID=<YOUR_SEATGEEK_CLIENT_ID>
REACT_APP_SEATGEEK_CLIENT_SECRET=<YOUR_SEATGEEK_CLEINT_SECRET>
- Run project with
yarn start
ornpm run start
- Follow instructions given in the terminal by the Expo CLI to access the application
-
A screen providing the ability to explore venues in the city of a users choosing. A screen for these venues and a list of events and their dates which will be happening at that venue.
-
This application pulls in event data from the SeatGeek API. In order to utilize the API without a need for consulting its documentation, the types for all possible query responses and all possible input parameters were written. Creating these types was merely involved a Postman GET request to the various API endpoints and pasting of the JSON results obtained there into the MakeTypes Generator
-
A custom hook called useSeatGeekQuery that takes the arguments of resource and params in order to query the API effectively.
-
Combining types for the API and the useSeatGeekQuery which allows for rapid and type safe building of the application while maximizing the potential out of the SeatGeek API.
-
Persistence of redux store from previous sessions through usage of the redux-persist library. Implementation can be seen in redux/index.ts and App.tsx
-
Data request via useSeatGeekQuery will first check to see if data has been fetched previously (aka: is found in the redux store). If is in the redux store already, the data will not be wastefully fetched again.