| Branch | Status |
|---|---|
| main | |
| develop |
| Name | Student ID | |
|---|---|---|
| Nathan Grenier | 40250986 | nathangrenier01@gmail.com |
| Sumer Abd Alla | 40247712 | sendingtosumer@gmail.com |
| David Carciente | 40247907 | davidcarciente@outlook.com |
| Giuliano Verdone | 40252190 | giulianoverdone@gmail.com |
| Nirav Patel | 40248940 | niravp0703@gmail.com |
| Nathanial Hwong | 40243583 | nathanial.hwong8@gmail.com |
| Brian Tkatch | 40191139 | brian@briantkatch.com |
| Jutipong Puntuleng | 40080233 | p.jutipong13@gmail.com |
| Rym Bensalem | 40237684 | rymbensalem816@gmail.com |
| Command | rps Equivalent |
Description |
|---|---|---|
flutter get |
rps get |
Install the Project's Dependencies |
flutter analyze |
rps lint check |
Run Flutter's Linter |
flutter run |
rps run |
Start the Dev Environment |
flutter build apk |
rps build android |
Build the android apk (Pass --debug for the debug build) |
flutter build ipa |
rps build ios |
Build the ios ipa |
flutter install |
rps install |
Install the app on the connected device. Can pass --release or --debug flags. (Default --release) |
Secrets and other configuration values are managed through environment variables. When developing locally, they can be configured by creating a .env file in the project's root (../concordia_nav), the same location where pubspec.yaml is found.
Note: Default values should be optimized for local development, such that a developer can clone and run the project successfully without having to override any configuration values.
The following variables can be configured:
| Variable | Description | Value |
|---|---|---|
| GOOGLE_MAPS_API_KEY | Used to integrate Google Maps API | YOUR_GOOGLE_MAPS_API_KEY |
| OPENAI_API_KEY | Used to integrate OpenAI API | YOUR_OPENAI_API_KEY |
- First, install the
rpspackage globally using:dart pub global activate rpsMake sure to add the
bin/folder to your path in order to userpsfrom the command line. Make sure to add thebin/folder to your path in order to userpsfrom the command line. - Then, use the
rps gencommand to generate the scripts. - You can now use any of the scripts defined in the
pubspec.yamlfile. Example:rps testwill run therps test -r expandedOn Windows, if you get an error along the lines of 'command not found', you might need to run
rps.batinstead of just rps. (You can aliasrps.battorpsin your shell profile) On Windows, if you get an error along the lines of 'command not found', you might need to runrps.batinstead of just rps. (You can aliasrps.battorpsin your shell profile)
To enable the project's pre-commit hooks, run the following command: git config core.hooksPath .githooks
If the script isn't executable, make it so on your respective operating system. Example:
chmod +x .githooks/pre-commit
To build the iOS app, you need to create a file
concordia_nav/ios/Flutter/Environment.xcconfig with a bundle ID that is unique to your
Apple Developer team:
PRODUCT_BUNDLE_IDENTIFIER=com.YOURDOMAIN.concordia-nav
APPLE_TEAM_ID=A1B2C3D4E5
CONNAV_APP_NAME=Concordia Nav
The following table outlines all of the individual commands run by the ci pipeline.
You can use the rps ci command to run all of them sequentially.
| Step | Command | Fixes |
|---|---|---|
| Clean the Project | rps clean |
|
| Check formatting | rps format check |
rps format fix |
| Run the Linter | rps lint check |
rps lint fix |
| Run the Unit Tests | rps test unit |
|
| Build the Android Project | rps build android --debug |
|
| Calculate the Test Coverage | rps coverage |
If you don't have
rps, you can find the full commands in thepubspec.yaml
- Install the python based codecov cli tool.
- Use one of the following command to upload your coverage report based on your OS:
- Windows:
rps codecov windows - Mac:
rps codecov mac
- Windows:
Note: In order for Local Upload to work, it must be used against a commit on the origin repository. Local Upload does not work for arbitrary diffs or uncommitted changes on your local machine.
You can use the codecov VsCode Extension to visualize the code coverage.
Make sure to upload the most recent coverage report to get the latest reporting.
This project uses the following third-party libraries:
- calendar_view by Simform Solutions (MIT License)