Iteration 1 Presentation Team A - GeoNetwork Iteration 1 Presentation
Overview This application uses a client – server architecture. This application uses GPS (Google Maps Functionality) to show the user’s location, and their friend’s location by marking them with icons.
Overview of Database The database contains all the usernames and passwords for each of the application’s users. The database also contains the friends list for each of the users. It also allows the user to locate a specific friend.
Requirements GPS (Google Maps Functionality) Database Friend Finder User’s Location, Friend’s location, Icons Database Latitudes and Longitudes Account Framework with Registration Validation Email Password Friends List Friend Finder Search by friend’s name and get results
Completion of Version 1 This application shows the user’s location on a map by panning to that location as soon as they log in. The user can find an existing friend’s location and have the map pan to that location.
How It All Works System Architecture
Source Code Packages Client Server Authentication Database Messaging Users Authentication Database Messaging Users Client Only Maps Graphical User Interface (GUI)
Messaging Client Server Contains ClientMessenger Responsible for connecting to Server on Maxwell over TCP Socket Transmits Message to Server Receives response, decodes, passes to proper Client-Side component Contains ServerMessenger Listens on Maxwell’s port:35018 Receives Messages, decodes, passes to proper Server-side Component After Processing occurs, sends response to client Closes TCP Socket
Database Client Server Functions wrap SQL queries in Messages Pass messages to ClientMessenger Receive response Receives decoded command from ServerMessenger Corresponding functions wrap SQL commands Passes results to ServerMessenger to return to ClientMessenger
Users Client Server Functions wrap up corresponding Messages to the server Makes User manipulation easy Hides back end Server/DB communication Handles User Manipulation Adding/Removing Friends Updating Location UserManager wraps DatabaseConnector to provide a DB Layer
Authentication Client Server Wrapper around Database Manager Message to Server containing Credentials Authenticates User on Client Passed credentials from Messenger Authenticates User Passes SUCCESS/FAILURE message to Messenger to return to client
GUI and Maps GUI Maps Contains code to transition from Activity to Activity Leverages Google Maps API Uses MapActivity and MapView Responsible for plotting User pushpins Communicates with Android GPS Provider to keep User’s position current
System Architecture
Our Code in Action DEMONSTRATION
Looking Into The Future… Plans for Iteration 2
Functionalities To Be Implemented Improve “Update” Feature Enhance GUI and Visual Appearance Implement User Registration Search for Friends and Add Friends Allow the User to Log Out
Improve Update The Update feature causes the system to keep a current, accurate account of where each User is located. Purpose: whenever a User moves, his or her icon will move along the map accordingly on all of his or her Friends’ phones
Enhance GUI Screens to be created: Settings Search for Friends Add Friends Screens to be Modified Friends List and Map Registration
Creation: Settings Change Size of Pushpin Default Zoom Invisibility Change Icon
Creation: Search Search for a given User (by Username) Add a search result to the User’s Friend’s List
Creation: Add Friends Post-Search – add a “found” Friend to the User’s Friend’s List Once added, the Friend appears on the User’s Map
Modify: Friends List And Map Implement a uniform visual structure for buttons and layout Line up all components
Modify: Registration Add “Create Account” button Implement the same uniform structure
Enable Registration Allow Users to create accounts Creation options include the following: Selecting Username Selecting Password Selecting Map Icon
Enable Friend Searching Using the newly-created GUI, Users will be able to search for other registered Users Clicking the “Add” button next to one of the listed results allows the User to add the selected person to his or her Friends List
Log Out The User is logged out of the Application Returns the User to Log In screen