Presentation of "Group Tracking", an Android application develop for the Pervasive Systems course of the Master Engineering in Computer Science of University of Rome "La Sapienza".
The target of the app is to track the position of friends obtained by Facebook inside a certain range. This position is obtained by Beacons inside buildings and by GPS outside.
2. Remember the problem ...
● Tracking the exact position of friends in venues, museums or
offices is not a trivial task...
● It could not be possible to make a phone call to each friend...
● How can I get the position of my friends inside the building?
2
3. ... and the solution!
Track the position of Groups of Friends !
How ???
Using smartphones with Beacons for indoor
positioning and GPS for outdoor !
3
4. What we have done:
4
Design the Architecture;
Develop Main Components (Client, Server);
Set up a Custom Server;
6. Design the Architecture: Server
6
● Id as key (reference to Neo4j);
● Store facebook informations;
● Each User has GPS coordinates;
● Each Group has a radius;
Simple UML Diagram
7. 7
● Main flow of the Application
● Definition of the REST API:
1. Main Operations;
2. I/O Parameters;
3. Paths;
Design the Architecture: Server
8. Design the Architecture: Client
8
A simple and clean UI inspired from
Telegram/Whatsapp application
Low coupling in order to works in parallel
Strong cohesion, each class is responsible
for its own information
19. Developing Main Components: Facebook SDK
19
● Available for Android App development;
● Used for Login session together with
Server-side REST service;
● Member of Groups could be taken only
from Facebook friends list;
20. Social Aspect: Group of Friends
20
● Groups of people created between
friends linked by Facebook;
● User can know the position only of
those friends that are:
○ registered in the same group;
○ inside the range of the group;
Privacy is guaranteed!
22. Set up Custom Server
22
● Friend’s Domain: amaca.ga
● Linux black 4.5.4-1-ARCH (Debian)
● 3,75 GB RAM
● 100 GB Hard Disk
23. Set up Custom Server
23
● Setup by SSH (port 8082)
● Runs our service on port 8080
● Get code from git (git clone),
then compile it (mvn install) and run it
(systemclt restart
smartteamtracking.service)
● Examine log
journalctl -u smartteamtracking.service
25. Things to do
25
● Avoid sending unused data by REST calls;
● Website for adding beacons to the system;
● Improve and Debug Android Application;
● Privacy checks based on Location.
26. Things to do: Web Application
26
● Drupal as Content
Management System;
● Free and Open Source;
● Modular Architecture;
● Target: management
of Beacons by RESTful
web service;