enviroCar Social Driving Stats


Introduction

One of the Google Summer of Code 2015 projects offered by 52\xB0North is “Social Driving Stats”. It is a sub project related to 52\xB0North’s enviroCar project. I will be working on this project under the mentoring of Dr.Christoph Stasch and Matthes Rieke. enviroCar offers a citizen science platform for collecting, analyzing, sharing and discussing car sensor data. Sharing specific tracks or statistics is currently not possible with enviroCar. The Social Driving Stats project aims to enhance the enviroCar with sharing facilities and social media links by implementing a REST interface for creating and providing track visualizations and statistics. Furthermore, enviroCar should be linked to social networks, such as Google Plus, Facebook or Twitter. Therefore, this project will utilize the APIs of these platforms and integrate them within the user profile pages of enviroCar.

About Me

I’m Heshitha Hettihewa, a final year undergraduate in the Faculty of Information Technology, University of Moratuwa, Sri Lanka. I’m an expert in Java Web technologies and fond of PHP as well. You can follow my development work on my Github.

Weekly Reports

Week 01

Status
  • Looked into the enviroCar server project and enviroCar www project and became familiar with it’s structure.
  • Setup working environment - cloned enviroCar-server and enviroCar-www projects and made them run in the local machine.
  • Looked into twitter API and created a simple mock application to publish a tweet on twitter.
  • Become familiar with Facebook public APIs and created a mock application to publish a fb post using FB-Opengraph API and FB-JS API [1].
Problems
  • An API to write to Google plus stream doesn’t exist. Their Documentation states that the existing Google plus API is a read only API. [2]
Next Steps
  • Design appropriate FB posts and Tweets.
  • Discuss and Create an appropriate method to integrate sharing functionalities inside the user profile pages.
  • Integrate the created functionalities into the enviroCar-www project locally.
[1].https://github.com/Drifftr/FB-Post-App

[2].https://developers.google.com/+/web/api/rest/#api

Week 02

Status
  • Set up test driven environment and created initial test cases.
  • Integrated tweet button locally into user profile page for testing purpose.
  • Created initial design of Facebook post [1][2].
  • Created a basic model for social media access.
Problems
  • none
Next Steps
  • Finalize the designs of FB posts and Tweets.
  • Discuss the details to be integrated to the posts
  • Discuss and Create an appropriate method to integrate sharing functionalities inside the user profile pages.
  • More next steps should be discussed in the weekly meeting on 9th of june.
[1]Facebook post mockup design 1

fbnew.png

[2]Facebook post mockup design 2

facebook.png

Week 03

Status
  • Improved the mockup designs for the posts and finalized the Facebook post design[1].
  • Filled the local database with a dummy mongodb content and made enviroCar server and enviroCar www to run in sync.
  • Initially implemented Facebook sharing mechanism into enviroCar WWW project (with a static image) .
Problems
  • Facebook states that they provide large thumbnails for images larger than 600x315. But the shared post's image thumbnail size remains small though we used high resolution image.
Next Steps
  • Finalize the content for Twitter posts.
  • Discuss the details to be integrated in the posts.
  • Initiate appropriate class structure for the server component .
  • Develop statistics retrieval logic.
[1] Finalized design for Facebook post

gmaps3.jpg

Week 04

Status
  • Initialized a rest resource to provide the thumbnails and visualizations.
  • Developed a mechanism to retrieve and integrate the stats into an image according to the finalized design.
  • Created OSM TIle Renderer class which downloads the relevant OSM tiles and geocode it to draw the routes of the track. An overview of the project components can be found in the figure below [1].
Problems
  • Twitter's sharing mechanism we used(Twitter cards) needs approval from twitter and the application should be whitelisted.
Next Steps
  • Make image rendering module more responsive for various resolutions.
  • Write test cases to test the implemented algorithms.
  • Implement a resource to preview the track.
[1]. Overview of the project components


Social_Driving_Stats_Architecture.png

Week 05

Status
  • Implemented a REST resource to preview the track.[1]
  • Tested the algorithms with several tracks.[4]
  • Made image rendering module to support various resolutions.[2]
  • Added functionality of retrieving the rendered image from enviroCar-server.[3]
Problems
  • None.
Next Steps
  • Get ready for midterm demo.
  • Add internationalization for share images.
  • Write test cases to test the implemented algorithms.
  • Add image clipping mechanism for preview images.
[1]. Preview Resource

[2]. enviroCar-Sever

[3]. enviroCar-WWW

[4]. Server component is merged to the dev branch and up on https://envirocar.org/api/dev/tracks/555a1fefe4b07f4df7541cda/share (Pattern - https://envirocar.org/api/dev/tracks/{trackID}/share)

Week 06

Status
  • Added multi color level visualization for the routes.[1]
  • Added internationalization for the German language.[2]
  • Initially developed image clipping methods to contain the track.
Problems
  • None.
Next Steps
  • Write test cases to test the implemented algorithms.
  • improve the image clipping mechanism to output an image of same size.
  • Add delete track functionality to enviroCar server.
[1]. Commit for multi color level visualization

[2]. Commit for Internationalization functionality

Week 07

Status
  • Added delete track functionality to enviroCar-www.[1]
  • Initially added public track page.
  • Omitted image clipping methods to preserve the resolution of the output image.
Problems
  • A problem was occured about the resolution of the map tiles recieved. Because all the map tiles were in 256x256 and it gets blurred at certain zoom level. But for image clipping it was a mandatory part in order to output an image of same size.
Next Steps
  • Write test cases to test the implemented algorithms.
  • Finalize public track page.
[1]. Delete Track functionality

Week 08

Status
  • Added public route page to enviroCar-WWW [1].
  • Finalized Internationalization functionality [1].
  • Initially added some test cases.
Problems
  • none.
Next Steps
  • Implement friends.php issues.
  • Add test cases to test other functionalities.
  • Fix public route page backend authorization issues.
[1]. Public Page and internationalization functionalities

Week 09

Status
  • Added some junit test cases [1].
  • Fixed issues in public route page [1].
  • Added route page delete button.
Problems
  • none.
Next Steps
  • Implement friends.php issues.
  • Add test cases to test other functionalities.
  • Fix share image resolution issue.
[1]. Test cases added

Week 10

Status
  • Modified image rendering algorithm to center the route on final image [1]
  • Modified the algorithm to maintain a fixed resolution. [1]
Problems
  • none.
Next Steps
  • Implement friends.php issues.
  • Add test cases to test other functionalities.
[1]. Base algorithm modified

Week 11

Status
  • Added new test cases to test the image rendering functionalaties.
  • Tested center algorithm with several tracks. [1]
  • Added callbacks to FB share post.
Problems
  • none.
Next Steps
  • Add summary map to home page.
[1].

rsz_screenshot_from_2015-06-26_14_13_02.png

Image before centering the route

en.png

Image after centering the route and adding colors to the route.

[2].FB callback added

Week 12

Status
  • Removed track name, delete and sharing functionalities from (non-user's public page)
  • Added aggregate map to the enviroCar landing page using leaflet.js. [1]
Problems
  • Google Share mechanism doesn't provide a callback method when the sharing is done. [2]
Next Steps
  • Implement aggregate map using arcGis JS api.
[1]. Modified landing page

[2]. Google share callback issue

Week 13

Status
  • Implemented aggregate map using arcGis JS api.[1]
  • Server component documentation.
Problems
  • None.
Next Steps
  • Screencast.
  • Finalize documentation.
[1]. Added arcGis map on enviroCar landing page

Topic attachments
I Attachment Action Size Date Who Comment
Screenshot_from_2015-06-26_14_13_02.pngpng Screenshot_from_2015-06-26_14_13_02.png manage 320 K 11 Aug 2015 - 05:28 HeshithaHettihewa  
Social_Driving_Stats_Architecture.pngpng Social_Driving_Stats_Architecture.png manage 30 K 24 Jun 2015 - 06:46 HeshithaHettihewa  
en.pngpng en.png manage 692 K 11 Aug 2015 - 06:01 HeshithaHettihewa  
facebook.pngpng facebook.png manage 171 K 09 Jun 2015 - 11:30 HeshithaHettihewa  
fbnew.pngpng fbnew.png manage 202 K 09 Jun 2015 - 11:26 HeshithaHettihewa  
gmaps3.jpgjpg gmaps3.jpg manage 184 K 16 Jun 2015 - 03:28 HeshithaHettihewa  
rsz_screenshot_from_2015-06-26_14_13_02.pngpng rsz_screenshot_from_2015-06-26_14_13_02.png manage 99 K 11 Aug 2015 - 05:59 HeshithaHettihewa  
Topic revision: r21 - 27 Jun 2016, UnknownUser
Legal Notice | Privacy Statement


This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Wiki? Send feedback