Smart Team Tracking Project: Group Tracking

30
SmartTeamTracki ng Biagio Botticelli Stefano Conoci Davide Meacci Salvatore Rivieccio 1

Transcript of Smart Team Tracking Project: Group Tracking

Page 1: Smart Team Tracking Project: Group Tracking

SmartTeamTracking

Biagio Botticelli Stefano Conoci

Davide Meacci Salvatore Rivieccio

1

Page 2: Smart Team Tracking Project: Group Tracking

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

Page 3: Smart Team Tracking Project: Group Tracking

... and the solution!

Track the position of Groups of Friends ! How ??? Using smartphones with Beacons for indoor positioning and GPS for outdoor !

3

Page 4: Smart Team Tracking Project: Group Tracking

What we have done:

4

Design the Architecture;

Develop Main Components (Client, Server);

Set up a Custom Server;

Page 5: Smart Team Tracking Project: Group Tracking

Design the Architecture

5

Page 6: Smart Team Tracking Project: Group Tracking

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

Page 7: Smart Team Tracking Project: Group Tracking

7

● Main flow of the Application

● Definition of the REST API:

1. Main Operations;2. I/O Parameters;3. Paths;

Design the Architecture: Server

Page 8: Smart Team Tracking Project: Group Tracking

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

Page 9: Smart Team Tracking Project: Group Tracking

Developing Main Components:

Server

9

Page 10: Smart Team Tracking Project: Group Tracking

Developing Main Components: Overview

10

Hardware

Mobile

Web ApplicationServer

Page 11: Smart Team Tracking Project: Group Tracking

Developing Main Components: Server

11

● Package Structure ○ Main Package (main.java)○ Model○ REST API○ Repositories (Spring Beans)○ Utils (Facebook interactions)

● Maven to manage Dependencies

Page 12: Smart Team Tracking Project: Group Tracking

Developing Main Components: Server

12

● Embedded Neo4j DB;

● Easily integrated with Spring;

● Complex queries;

● ID of Nodes as Key in the model;

Page 13: Smart Team Tracking Project: Group Tracking

Developing Main Components: Server

13

Page 14: Smart Team Tracking Project: Group Tracking

Developing Main Components: Server

14

Page 15: Smart Team Tracking Project: Group Tracking

Developing Main Components: Server

15

Page 16: Smart Team Tracking Project: Group Tracking

Developing Main Components:

Client

16

Page 17: Smart Team Tracking Project: Group Tracking

Developing Main Components: Client

17

Realm DB

Parceler

Page 18: Smart Team Tracking Project: Group Tracking

Android Application Flow

18

Page 19: Smart Team Tracking Project: Group Tracking

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;

Page 20: Smart Team Tracking Project: Group Tracking

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!

Page 21: Smart Team Tracking Project: Group Tracking

Set Up Custom Server

21

Page 22: Smart Team Tracking Project: Group Tracking

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

Page 23: Smart Team Tracking Project: Group Tracking

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 logjournalctl -u smartteamtracking.service

Page 24: Smart Team Tracking Project: Group Tracking

Things to do

24

Page 25: Smart Team Tracking Project: Group Tracking

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.

Page 26: Smart Team Tracking Project: Group Tracking

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;

Page 27: Smart Team Tracking Project: Group Tracking

About us

27

Page 29: Smart Team Tracking Project: Group Tracking

Questions ?

29

Page 30: Smart Team Tracking Project: Group Tracking

Set Up Custom Server

30

Thank You!