Evently is an events discovery app that allows you to swipe left/right on a stack of event cards: right to indicate interest, and left to indicate lack of interest. View a timeline of events you liked through the app, add these events to your calendar and purchase tickets.
This is the frontend of the app, built in React Native. We used Redux to manage global state, mapbox for location services, and connect to a Firebase backend.
- get the GoogleServiceInfo file from an admin
yarn setuppulls node packages and installs ios cocoapodsyarn iosstarts react native app in ios simulator
yarn testruns all of our test- testing that each component renders, and renders according to a "snapshot" of what the component looked like in previous renders
- created mocks for Firebase, Mapbox, other Native elements
- used jest for testing
We used DeepScan to enforce style, as well as JSPrettier, which formats code upon save.
CI set up via Codepush/TestFlight.
- React Native - JS Framework for Native applications
- Redux - Global state manager
- Mapbox - Location services
- Firebase - Realtime Database
- Jest - Testing
This where most of the code related specifically to our app lives. Directories are split up by the three main views of our app:
Users swipe left and right on event cards - left if not interested, right if interested. Components:
- event card - one "card" for each event
- action button - dynamic button to purchase tickets
- swipeable - swiping functionality for card
- feed - component at the top of the screen that allows you to filter for different event types and times
Users update their event preferences, which will influence the types of events they are served in the feed. Components:
- Dial - dials that users turn to indicate how much of a particular event mood they would like
Users see a timeline of all events they expressed interest in. They can click on event to purchase tickets, or add the event to their Native calendar. Components:
- Eventcardpreview - a preview-version of the event card that users saw in the feed
- Calendar button - button that handles adding an event to your Native calendar
These are components used throughout the app, most related to text and styles.
Houses images, icons, etc. used in our app
Redux modules for each of our main components. Corresponding tests for these actions can be found in our tests folder, under Redux.
ios-specific modules, stored as "pods," and andriod modules, respectively, that we needed to control our app. Some pods include calendar addition and location services.