Repository navigation
Releases: UMass-Events-Map/frontend
Release list
Release 1.1.0
Final Release
What's Changed
- Starrao123/events list sorting by @Starrao123 in #46
- Merge main to branch by @namhnguyen0103 in #47
- Nam/add edit event by @namhnguyen0103 in #48
- Merge Nam/add edit event to main by @namhnguyen0103 in #49
- Starrao123/event list by @Starrao123 in #50
- Mergin Final demo to main by @namhnguyen0103 in #54
- fixed dpendencies to work with EAS by @mgpai22 in #57
New Contributors
Full Changelog: v1.0.1...v1.1.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. -
To add/edit/delete an event:
Users can navigate to the organization page at the bottom of the screen. After entering valid login information, they will be shown to a page that shows their affiliated organization and a list of events for that organization. To add an event, simply select the "add an event" button and fill out the required information. To edit an event, simply select the "edit" button on the given event of your choosing and change any information. Lastly, to delete an event, simply select the "delete" button.
Issues Tracking
For issues tracking, we are using GitHub issues of the given repository.
Known Issues
Testing
The tests are located in the “@/app/components/tests” folder in the frontend repository. To run the tests, simply try “npm run test.” The current unit tests have 100% coverage for their given components. For information on backend tests, please navigate to the backend repository.
-
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 had the benefit of the user report from the Ticketing Events team. We also conducted our own manual tests and discovered various bugs, such as an "off by one" error in the drop down menu in the List page. We added all of these issues to the issues tab in GitHub. -
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. For the beta release, unit tests were located in EventList-test.tsx and EventDetails-test.tsx and test the EventCard, EventList, and EventDetails components. For the 1.0 release, we found some problems with these tests and rewrote them. The testing files are now EventCard-UnitTest.tsx and EventList-UnitTest.tsx. We have plans to add more tests. -
Integration Testing:
We currently have integration tests for the login use case written in the login.test.tsx file in the testing folder
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.
Release 1.0.1
Release 1.0.1
Commit: c8f1067
Branch: v1.0.1
Beta Release (β)
Release 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.