Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

32 changes: 15 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
# Project Compass Android Application

## A few words on Project Compass
Compass is a location monitoring platform with GPS reading optimisation capabilities.
Its development is part of the March-April 2021 Software Development internship in [Terracom SA](www.terracom.gr).

## Android Application Description
The role of this application is to provide end users with an intuitive interface which allows them to log their routes.
The app is receiving GPS coordinates at a given time interval which in turn are filtered using the Kalman Algorithm in order to improve accuracy.
The user interface will provide an overview of the user current route with the help of Google Maps API.

## Setup
In order to preview and develop the application, Android Studio will be used.
To load the project, start by cloning the repository in your local machine.
*Note that Android Studio projects, usually reside in C:/Users/<YourName>/AndroidStudioProjects/ directory*.
Open Android Studio then go to Files -> Open, navigate to the project direcotry and hit OK.

Project Compass Android Application
A few words on Project Compass

Compass is a location monitoring platform with GPS reading optimisation capabilities. Its development is part of the March-April 2021 Software Development internship in Terracom SA.
Android Application Description

The role of this application is to provide end users with an intuitive interface for logging their routes. The app is receiving GPS coordinates at a given time interval. They are in turn stored in a local DB and given an Internet connection, they are published to a remote server via RabbitMQ Queues implementing the AMQ Protocol. These coordinates are then passed to a FaaS implementation of the Kalman filter in order to improve accuracy. The user interface will provide an overview of user's current route with the help of Google Maps API.
Setup

In order to preview and develop the application, we 'll be using Android Studio. To load the project, start by going to File -> New -> Project from Version Control. The Get from Version Control window pops up. Make sure to log in to your GitHub account from the GitHub tab. Then, in the Repository URL tab, select Git for Version control. Paste the repository URL and specify the directory in which the project will reside. Finally hit Clone.
Note that Android Studio projects, usually reside in C:/Users/username/AndroidStudioProjects/.

In order to get the google API to work you have to include the key in your local.properties file. Since this is a local configuration file generated by Android Studio, you will have to manually add the line google.map.key = <KEY> in its contents.

Make sure that before you build and run the project, your Gradle file is in sync. Simply go to File -> Sync Project with Gradle Files.
26 changes: 18 additions & 8 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ android {
buildToolsVersion "30.0.3"

defaultConfig {
applicationId "com.example.projectcompass"
minSdkVersion 23
applicationId "com.example.parksguide"
minSdkVersion 16
targetSdkVersion 30
versionCode 1
versionName "1.0"
Expand All @@ -35,11 +35,21 @@ android {
dependencies {

implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.3.0'
implementation 'androidx.core:core-ktx:1.2.0'
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'com.google.android.material:material:1.1.0'
implementation 'com.google.android.gms:play-services-maps:17.0.0'
implementation 'com.google.android.gms:play-services-location:17.1.0'
implementation 'com.google.android.gms:play-services-places:17.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'com.google.android.gms:play-services-places:11.8.0'
implementation 'com.google.android.material:material:1.0.0'




}
Binary file added app/mipmap-hdpi/ic_user_location.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/mipmap-mdpi/ic_user_location.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/mipmap-xhdpi/ic_user_location.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/mipmap-xxhdpi/ic_user_location.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/mipmap-xxxhdpi/ic_user_location.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

This file was deleted.

27 changes: 24 additions & 3 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,36 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.projectcompass">

<!--
The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
Google Maps Android API v2, but you must specify either coarse or fine
location permissions for the "MyLocation" functionality.
-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:label="Project Compass"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.ProjectCompass">
<activity android:name=".MainActivity">
<intent-filter>

<!--
The API key for Google Maps-based APIs is defined as a string resource.
(See the file "res/values/google_maps_api.xml").
Note that the API key is linked to the encryption key used to sign the APK.
You need a different API key for each encryption key, including the release key that is used to
sign the APK for publishing.
You can define the keys for the debug and release targets in src/debug/ and src/release/.
-->
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />

<activity
android:name="com.example.projectcompass.MapsActivity"
android:label="Project Compass"> <intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
Expand Down
Binary file added app/src/main/ic_launcher-playstore.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 0 additions & 11 deletions app/src/main/java/com/example/projectcompass/MainActivity.kt

This file was deleted.

Loading