Repository navigation
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.