The NOI-Community App is your information and communication channel to keep in touch with the growing innovation district of NOI Techpark and its members. Are you looking for a specific company that is working here? Do you need to book a room for your next team meeting? Or do you simply want to know today's choice of dishes in the Community Bar? From now on, you can find all that in one application. More tools to come, so stay tuned!
We have also an App for iOS.
Table of Contents
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
To build the project, the following prerequisites must be met:
- Android Studio is strongly recommended, even if any other IDE that supports Android projects should be fine
- Gradle (tested with v6.5)
Get a copy of the repository:
git clone [email protected]:noi-techpark/it.bz.noi.community.android.git
No configuration is needed.
The unit tests can be executed with the following command launched from the project folder:
./gradlew clean
./gradlew test
More information about Android tests at https://developer.android.com/studio/test/command-line
We deploy the application with Github Actions to a Test Track, if someone pushes
to the main
branch. See
.github/workflows/main.yml and Continuous
Deployment for Android Apps for details.
Go to https://play.google.com/console to configure the Alpha channel releases.
If the App is still an older version on your phone, please consider to go to https://play.google.com/store/apps/details?id=it.bz.noi.community, which opens the Google Play Store and see if it provides a manual update.
We have two different build variants:
development
-> uses testing machine authentication flowproduction
-> uses production authentication flow
Eventually change the CI/CD job build_and_deploy_to_play_store
to use production authentication flow:
If you want to generate an app bundle for testing machine use case, you have to execute ./gradlew bundleDevelopmentRelease
command and retrieve the .aab
file from app/build/outputs/bundle/developmentRelease
directory.
Similarly, if you want to generate the app file instead of the bundle:
- development
- command:
./gradlew assembleDevelopmentRelease
- directory:app/build/outputs/bundle/apk/development/release
- production
- command:
./gradlew assembleProductionRelease
- directory:app/build/outputs/bundle/apk/production/release
I left invariant the two tests jobs. From Gradle tasks documentation, we have that:
- test: Run unit tests for all variants
- connectedAndroidTest - Installs and runs instrumentation tests for all flavors on connected devices
If you want to run tests only for a specific variant, you can change the relative job with these possibilities:
unit_tests
job:
- testDevelopmentDebugUnitTest - Run unit tests for the developmentDebug build.
- testDevelopmentReleaseUnitTest - Run unit tests for the developmentRelease build.
- testProductionDebugUnitTest - Run unit tests for the productionDebug build.
- testProductionReleaseUnitTest - Run unit tests for the productionRelease build.
android_tests
job:
- connectedDevelopmentDebugAndroidTest - Installs and runs the tests for developmentDebug on connected devices.
- connectedProductionDebugAndroidTest - Installs and runs the tests for productionDebug on connected devices.
Open the app and go to "More". You find the actual version under the NOI logo, where the first three numbers represent the semantic version and the last the timestamp of the release.
For example: 0.1.0.1649084864
, means that we have a version 0.1.0
released
on Mon Apr 04 2022 17:07:44 GMT+0200 (Central European Summer Time)
. You can
use https://www.unixtimestamp.com/ for conversions.
For support, please contact [email protected].
If you'd like to contribute, please follow our Getting Started instructions.
The code in this project is licensed under the GNU GENERAL PUBLIC LICENSE 3.0 or later license. See the LICENSE file for more information.
This project is REUSE compliant, more information about the usage of REUSE in NOI Techpark repositories can be found here.
Since the CI for this project checks for REUSE compliance you might find it useful to use a pre-commit hook checking for REUSE compliance locally. The pre-commit-config file in the repository root is already configured to check for REUSE compliance with help of the pre-commit tool.
Install the tool by running:
pip install pre-commit
Then install the pre-commit hook via the config file by running:
pre-commit install