In short, Jay is providing data to decide on local problems and in the transportation field. Jay should be easy to use and available to have as much impact as possible.
- Save sensory/location data locally and sync it to the cloud
- Record a session in the background to provide seamless tracking
- Utilize its capabilities with multiple users on a single device
- Show information about your session
- UX/UI centered design, with dark mode theming
- Saving tracked data locally via Room
- Dependency Injection with the Compose implementation of Hilt
- Navigation in the app is helped by Compose Destinations
- Authentication, data sync, etc. is handled by Firebase services
- Mapbox is used instead of Google Maps to scale better
- Amazing (or at least not bad) UX/UI experience (development on Figma Design Page)
- Static code analysis via SonarCloud
You need to do 3 things after cloning the repository to make the app rely only on your services.
Adding Android project to Firebase 🔥
You need to modify the package of the project, because Firebase WILL NOT let you add Jay as an Android project, because I already have a project with this package. You might as well change the name of it, but it's optional.
After you added the Android project, then you should follow the instructions Firebase gave you (download google-services.json
).
Install Mapbox 🗺
You will need a Mapbox account in order to get the private and public keys to get it up and running.
Follow the Mapbox install guide for further information. I placed both of my keys in the local.properties
file.
Set up SonarCloud properly
Don't forget to change your properties in the project level build.gradle.kts
file.
Set your application ID from AdMob
in the local.properties
file with the key ADMOB_APPLICATION_ID
in order to get Ads. Also set your Ad Unit IDs
in Firebase Remote Config
. If not set, the project will use the default test ad unit IDs from Google.
- Never add
google-services.json
,«USER_HOME»/.gradle/gradle.properties
andlocal.properties
into your forked repository. - I would recommend keeping your
strings.xml
file squeaky clean 🧹🧽🧼 (don't place any keys, either public or private or confidential information there), use Firebase's Remote Config service or place keys inlocal.properties
.
Copyright (c) Balázs Püspök-Kiss (Illyan)
Jay is a driver behaviour analytics app.
This file is part of Jay.
Jay is free software: you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later version.
Jay is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Jay.
If not, see <https://www.gnu.org/licenses/>.