eetac app by bastet
TRANSCRIPT
EetacApp A new revolutionary application for EETAC’s students
and teachers.
1
Table of Contents 1. Concept:
2. How it works? Stories:
3. Flows diagram:
4. Indoor Positioning & Routing:
5. Entity-‐relationship:
6. Use case diagram:
7. Components Model:
8. Technologies:
9. Gantt diagram:
2
Concept ! The EetacApp offers orientation service inside the
campus, where the app user can explore the buildings and find the best route to go to any room.
! EetacApp follows web 2.0 ideas since users can give their opinion about sites or pictures (the users take and upload pictures)
! EetacApp is a useful tool designed for Eetac students and teachers but also for visitors which don’t know the campus.
! What is the difference with Foursquare and other similar apps? Indoor positioning and routing.
3
How it works? Stories • This Monday was about to start badly for Bob. Just landing from
London at 13:17 am, he could definitively not remember the explications about how to reach the conference room. And he should be the first one to speak! Luckily, he downloaded EetacApp before leaving, following his colleague’s advice. Within a few moments, the application gave him the quickest way to the place.
• The new poster displayed in the room B-‐332 was very interesting for Julian. So, as he was sitting waiting the teacher to come, he used its EetacApp to check-‐in. As he had hoped, there was already a picture of the poster in the B-‐332 picture gallery. By clicking it, he displayed the poster’s comments thread. After reading them, he added his own thoughts and went to the given project Web page.
• After the presentation of Urbanization in room V-‐212, the group was very pleased to see their friends have already taken pictures and upload them, creating several threads about the main debated issues.
4
Flow diagram
Best route to reach the location.
If you have registred before, the next Activity is the Map.You can login with facebook or google (OpenID).
SIGN UP SIGN IN
Swith
MAPS
PROFILE
CHECK-‐IN
EXPLORE
You can add new comments to a picture.
You can make a check-‐in in Site (add to favorites at same time) and add new picttures or comments. You can read the last comments related with the site or related with the pictures.
PRESENTATION MAP
EXPLORE
CHECK-‐IN
CHECK-‐IN o EXPLORE(Selected, pictures)
CHECK-‐IN o EXPLORE(Selected, comments)
PROFILE
5
Indoor Positioning & Routing
! We use a GPS for outdoor positioning and Google API for outdoor routing.
! There are several options for indoor positioning & routing using WIFI: ! Redpin (www.redpin.org) FREE [Only provide positioning] +
A-‐STAR algorithm [provide the routing]. ! Ericsson Labs: Indoor Positioning (https://labs.ericsson.com)
[LIMITED USAGE (50.000 query)] ! Micello (www.micello.com) [Javascript API, We must to
send our maps to the company.]
6
Entity-‐relationship 6 entities
! Location: Where is the user (dynamic)? Where is a Site (static)?
! User: User information.
! Site: Site information. Each site has a Location, Pictures and Comments.
! Check-‐in: Relates a User with a Site, while the user is in that Site.
! Pictures can be the Site’s ones, or User’s profile picture.
! Comments: Each Picture could have comments; each Site has comments.
-idUser-username-password-surname-description-email
User
-idPicture-idUser-date
Picture
-idSite-name-description
Site-idCheck-date
Check-in
-idComment-idUser-date-text
Comment
Location
1 0..*
1
0..1
10..*
1 0..*
0..* 1 1
1
0..*
1
0..* 1
profile
7
Cases of use ! Only one kind of
user.
! 4 blocks: ! User managment. ! Authentication. ! User Operations. ! Site Managment.
User Managment Authentication
login
logout
register
editProfile
editName
editDesc
changePicture
...
Site Managment
check-in
addFavorites
addComment
addPicture
check-out
User Operations
getRoute
seeMap
exploreSite
getNearSites
8
Components model
9
Presentation
Integration
+getUser(in username) : User+addUser(in user) : boolean
IIAuthenticationManager
+changeName(in idUser, in username) : boolean+changePicture(in idUser, in picture) : boolean
IIUserManager
+getMap(in location) : Map+getLocation(in user) : Location+getFavoriteSites(in idUser) : List <Site>
IIUserOperations+getSite(in idSite) : Site+addPhoto(in idSite, in picture) : boolean+addComment(in idSite, in comment) : boolean+addFavorites(in idSite, in idUser) : boolean+delFavorite(in idSite, in idSite) : boolean+getLocation(in site) : Location+getComments(in site) : List <Comment>+getComments(in picture) : List <Comment>
IISiteManager
+login(in username, in password) : boolean+logout(in username) : boolean+register(in User) : boolean
IPAuthenticationManager
+editProfile(in User) : boolean
IPUseManager
+checkin(in site, in comment, in picture) : boolean+addFavorite(in site) : boolean+delFavorite(in site) : boolean+addComment(in comment) : boolean+addPicture(in picture) : boolean
IPSiteManager
+getRoute(in location, in site) : List <Location>+explore(in location) : List <Site>+seeMap(in location) : Map+getNearSites(in location) : List <Site>
IPUserOperations
PAuthenticationManager PUserManagment PSiteManager PUserOperations
Business Logic
+getUser(in username) : User+addUser(in user) : boolean
IBLAuthenticationManager
+changeName(in idUser, in username) : boolean+changePicture(in idUser, in picture) : boolean+allUsers() : List <User>
IBLUserManager
+calcRoute(in location, in location) : List <Location>+getNearSites(in location) : List <Site>+getMap(in location) : Map+getLocation(in user) : Location+getFavoriteSites(in idUser) : List <Site>
IBLUserOperations+allSites() : List <Site>+getSite(in idSite) : Site+addPhoto(in idSite, in picture) : boolean+addComment(in idSite, in comment) : boolean+addFavorites(in idSite, in idUser) : boolean(idl)+delFavorite(in idSite, in idSite) : boolean+usersCheckin(in site) : List <User>+addCheckin(in user, in site) : boolean
IBLSiteManager
BLAuthenticationManager BLUserManagment BLSiteManager BLUserOperations
IAuthenticationManager IUserManagment ISiteManager IUserOperations
Technologies
10
Technologies
11
! Web Server ! Tomcat 7. ! RESTfull Service using Jersey Implementation. ! Wicket MVC framework for developing web
applications in java. ! Hibernate for the mapping between java objects and
database tables.
! Mobile App: Android 2.3.3
! Database: Postgres, because scalability is better and better performance on Hibernate than MySQL.
Technologies
12
! Indoor Positioning ! RedPin or Ericcson Labs Indor Maps.
! Maps and Routing ! http://en.wikipedia.org/wiki/A*_search_algorithm
(aplicación de Luismi).
Gant
13
Additional Features ! Integration with Atenea and SIA (Problem: today,
APIs don’t exist).
! Integration with Facebook, Twitter and Foursquare (Using places of foursquare and announcing by tweets and wall posts).
! Give the possibility to the users to create sites and add videos at sites.
! Import student calendar.
14
Conclusions ! Eetac app can work like a social network of CBL
students giving a new way of communication between them.
! In the future, Eetac app can be exported to any other campus or create a new app like UPCApp.
15
END Any question?
16