Repository navigation
Beta Release (β)
Pre-releaseRelease Notes
What's Changed
- Add BuildingPage component and update EventList by @namhnguyen0103 in #18
- update EventList by @namhnguyen0103 in #19
- Starrao123/event details by @Starrao123 in #20
- Integrating routes by @namhnguyen0103 in #21
New Contributors
- @namhnguyen0103 made their first contribution in #18
Full Changelog: https://github.com/UMass-Events-Map/frontend/commits/v1.0.0
Software Installation
To install and run the software, there are several methods.
The first method is to clone the GitHub repository and follow the provided build instructions in the README.md. After running the application via “npx expo start,” login with your Expo Go cre dentials when prompted. It is then possible to run the application on an iOS or Android emulator by installing XCode or Android Studio, or on a local device by downloading the Expo Go application and scanning the provided QR Code.
The second method is to simply run the provided application without downloading the code. The file is universal.apk and is included in this release. To run the apk, you can either use an emulator on Android Studio or download it on your Android device. If you use the emulator, navigate to the README.MD under build process instructions to learn how to setup Android Studio. Once you have Android Studio installed, setup an Android Virtual Device, launch the emulator, and drag and drop the apk file into the emulator. If you use an Android device, simply download the apk file. You may need to allow certain permissions to allow the application to be run, which can be found at this link: https://www.lifewire.com/install-apk-on-android-4177185.
Valid Commands
The most important valid commands are all located in the README.md file in the repository. “Npm install” and “yarn install” install several dependencies, “npx expo start” runs the application, and “npm run test” runs the test suites.
Functionality
As of now, a user can look at events on the map and on the list, and can click on events to see more information. On the backend, we are able to add and remove events and organizations, and authenticate users, but these features have not yet been fully integrated with the front end.
-
To view event’s detail through map view:
Users can select the map tab from the navigation bar to open the map view, where pins will be displayed at various locations. By clicking on any pin, users can see a list of events at that location. Users can then select an event to view its details. To return to the map view, users can simply swipe down on the page. -
To view event’s detail through a list view:
Users can select the list tab from the navigation bar to open the list view, which displays a list of upcoming events. By clicking on any event, users can view its details. To exit the page, users can swipe down.
Issues Tracking
For issues tracking, we are using GitHub issues of the given repository.
Testing
The tests are located in the “@/app/components/tests” folder in the frontend repository. To run the tests, simply try “npm run test.” For this release, “EventList-test.tsx” contains unit tests while “List-test.tsx” contains integration tests. Specifically, “EventList-test.tsx” checks if the EventList and EventCard components render correctly while “List-test.tsx” checks if the backend calls integrate correctly to the front end using mock data. The specific use case these test suites cover is when the user of the application is trying to view an event.
-
Manual Testing:
Our team has plans to complete various manual tests for this project. For the beta release, our team focused on manual testing within the team. We ran through the various use cases, but especially the first one on our SDS. Whenever we found a bug, we logged it in GitHub issues. For the 1.0 release, our team will focus on user testing and take a more systematic approach, such as using a spreadsheet to note down all of the features to test. -
Unit Testing:
The unit tests are written using jest and the react-native testing library. All of the unit tests are written in this folder. Currently, unit tests are located in EventList-test.tsx and EventDetails-test.tsx and test the EventCard, EventList, and EventDetails components. The EventDetails tests are still in development. The unit tests simply check if certain elements render when they are supposed to. To run the unit tests, type "npm run test." -
Integration Testing:
The integration tests are written using jest and the react-native testing library and are mocked using jest and Supabase. Currently, the application has unit tests for the primary use case of our application, which is if the user wants to view an event. The tests are written in the List-test.tsx file. Since the backend calls are currently written to Supabase, our team will have to change the way we mock the data once we switch to the backend routes. To run the integration tests, the command is the same as for unit tests, which is "npm run test."
Assumptions
For developers, we assume developers have Visual Studio, Android and iOS emulators, npm installed, and the repository cloned. To look at file change logs, navigate to the commit history section of the repository. Each commit shows what code was changed along with a message.