{"id":22798674,"url":"https://github.com/ralphpina/activitymapper","last_synced_at":"2025-03-30T18:44:11.701Z","repository":{"id":147149990,"uuid":"45317266","full_name":"ralphpina/ActivityMapper","owner":"ralphpina","description":"Maps your activity. Uses Parse for persistence and MapBox to display maps.","archived":false,"fork":false,"pushed_at":"2015-11-02T20:37:31.000Z","size":14396,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-05T21:02:20.374Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ralphpina.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-31T20:31:15.000Z","updated_at":"2017-04-04T08:32:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"fd06b3ac-cac0-41e2-9890-3644608d2fe2","html_url":"https://github.com/ralphpina/ActivityMapper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralphpina%2FActivityMapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralphpina%2FActivityMapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralphpina%2FActivityMapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralphpina%2FActivityMapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ralphpina","download_url":"https://codeload.github.com/ralphpina/ActivityMapper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246365638,"owners_count":20765546,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-12T06:10:43.505Z","updated_at":"2025-03-30T18:44:11.532Z","avatar_url":"https://github.com/ralphpina.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ActivityMapper\nMaps your activity. Uses Parse for persistence and MapBox to display maps.\n\n## Running\nTo run this project you will need to add your own ```sdk_keys.xml``` file in ```mobile/src/main/res/values/sdk_keys.xml```. This file is gitignored, so it will not sync when you pull this repo. As you can see, this file is used to store keys to your MapBox and Parse accounts.\n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\t\t\n\u003cresources\u003e\t\t\n  \u003cstring name=\"map_box_sdk_token\"\u003eYour MapBox SDK Token\u003c/string\u003e\t\t\n  \u003cstring name=\"parse_application_id\"\u003eYour Parse Application Id\u003c/string\u003e\t\t\n  \u003cstring name=\"parse_client_key\"\u003eYour Parse Client Key\u003c/string\u003e\t\t\n\u003c/resources\u003e\n```\n\n## About\nThis is just a side project. It is used to show potential companies my work, and to learn about various Android subjects I am interested in. Yes this app may be consider creepy since it will collect your location and activity type and sync it to a cloud provider. However, since you'll be building it with your own Parse keys you'll have full control of your data. \n\n## Technologies Used\n- MapBox to display your activity locations.\n- Parse to persist the data the app collects.\n- Google Play Service's FusedLocationManager and ActivityRecognition APIs to collect the data.\n- A persistent service to track the data.\n- A Broadcast receiever to start the service on boot in case the phone is turned off.\n\n***Testing:***\n\nTesting is famously difficult in Android. While this app is nowhere near cutting edge in this area, it is being tested.\n- Android Instrumentation testing using newer libraries and JUnit 4.\n- Android JUnit testing - not much of it.\n- While I have used Robolectric and Robotium in the past, and I am a big fan, I am not currently using them and instead using the stock tools provided by the Android team.\n\n##TODO\n- ~~Build model for Parse~~\n- ~~Service to track location and activity~~\n- ~~Activity recognition using Google Play Services~~\n- ~~Persist data to Parse~~\n- Add Marshmallow permissions manager\n- ~~Display data for last 24 hours in map~~\n- ~~Different color lines in map for different activities~~\n- Different filters for times and activities\n- Android Wear activity to display last 24 hours\n- Adding Dagger 2 for testing\n- ~~Mock Parse during testing~~\n- Filter FusedLocationManager to throw out bad data. It shouldn't have these jagged lines: https://www.evernote.com/l/ABAMV20CcElCeKgdn9WAZ0tFC8Fn9deF-Qc\n- Submit to the Play Store as beta?\n\nLicense\n--------\n\n    Copyright 2015 Ralph Pina.\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fralphpina%2Factivitymapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fralphpina%2Factivitymapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fralphpina%2Factivitymapper/lists"}