For more detailed information, please feel free to check out our User Documentation and Developer Documentation
HapMap/lib: Files to run, edit, and integrating Google Map API to the flutter app
- HapMap/lib/api/ Files related to Google Maps API endpoints (including API calls and creating data models)
- HapMap/lib/models/ Data structures containing data returned from API calls
- HapMap/lib/pages Layouts and functionality for front-end UI
- HapMap/lib/constants.dart global constants
- HapMap/lib/main.dart Application entry point
HapMap/reports: Weekly reports and meeting agenda
There are a few installations that are needed in order to build, run, and test HapMap.
- Install Flutter
- Download & Install Android Studio
- Create a Virtual Device (Android devices are recommended)
- If using an iOS Simulator, note that CocoaPods is required and that it cannot simulate a route/travel
- Make a Google API key by following Google's official documentation
- When setting up your key, make sure you enable the Google Places and Google Directions APIs
- Clone the repository
- Add one API key for Google Places and Directions to a dart file in
lib/api/.keysuch thatconst MAPS_API_KEY="API KEY". Make sure the file is imported into directions_api.dart and place_api.dart and that the import statement forapi/maps.dartis removed! We have included an emptyactions.dartfile for you to put the key in, or you may create your own. Also be sure to include the API key inios/Runner/AppDelegate.swiftandandroid/app/src/main/AndroidManifest.xml. - Open an iOS or Android emulator or connect a physical device in Android Studio
- In the command line, navigate to the HapMap directory and run
bash clean_and_run.shto build the app
For tips on how to use an Android emulator, please see the official Android documentation. You can find more detailed information about simulating a route in Extended controls, settings and help under the Location feature.
Currently HapMap doesn't support rerouting, so be sure to only start simulating a route once you are on the navigation page. Additionally, ensure the route you are simulating is consistent with the route chosen by HapMap in order to properly emulate the navigation function of HapMap.
To fully test the user interactions and functionalities of HapMap, please follow this manual testing script.
- See the "How to Build" section for instructions to set up the project locally
- In the top-level directory, run
flutter testto run all test files in the /test folder
To add tests, create a new file in the test folder in the format <what_is_being_tested>_test.dart
For help with testing, view the Dart Testing Documentation
Figma Wireframe
Spec and Requirements
Trello Board
This project was developed as part of the UW CSE 403: Software Engineering course by Emily Chang, Simona Liao, Jesse Hu, Lauren Cavanaugh, Pulkit Malhotra, and Aditya Nayak. Special thanks to Professor René Just and TA Hannah K. Potter for their support and guidance on this project!
