Home
Read About Formation!
Contents
1. 13 ce RT o 13 m Us 14 Oed c to EL nen SIUE E E TE 16 Clg ae ee ee ee menti ee ee eee ee eee 16 16 Digests EAS E 17 zean o a E E E E E E A E TE 19 April 27 2015 Formation User Mandl sssini innie ninn niaaa eE ints ia ei 20 EE EE E 20 E E EEE EE EE EEEE EA EEEE EE EE AEE EAE ENEE 20 Sic ETETE Z EM PA a ce ee ce cece ee cee cere ee ene eee ee E ere ee eee E E ee eee ee eee ee eee 22 22 CLG d 6 cR m UR PE April 27 2015 LL Introducing Formation Vision Motivation amp Opportunity Today there is an absence of applications that allow individuals to quickly organize and actively direct group members to convenient meeting sites on a real time map Such a functionality would be very useful to organizations or groups that meet frequently but do not have a standard meeting location Currently individuals must manually determine te
2. pa Tap to bring up the 9 P VM an Georgia Arat NN messages pane Go n 3 D S 5 2 gt m D 2 a Zz 3 Search Figure 16 Main Map Screen 20 April 27 2015 Creating a eam Create New Team Text field for entering the desired name for Press this button to the created team launch a dialog for Edit from Contacts selecting users to invite from contacts Names of users you have selected to invite will show up in this region When you re ready create the group Figure 17 Creating a Team Inviting Users to Team Invite Users test1 This scrollable view holds names of eligible users to test2 invite to your team Touch a name its checkbox or test3 anywhere in the horizontal bar to toggle the checkbox If facta the checkbox is checked that user is selected for inviting test5 test6 test7 test8 These buttons will close the dialog Pressing Invite Users test9 will invite the currently selected users Pressing Cancel will discard any test10 changes made and return the before this dialog was launched Figure 18 Inviting Users to Team 21 27 2015 Messaging A scrollable view containing the team s messages New messages appear at the bottom dese Im Rn lol faled Thu Apr 16 forscyvus gmail com 5 7 27 ept LE go braves Hm Thu Apr 16 forscyvusG gmail com 13 29 47 EDT here we goooooo 201
3. Terminology Overview Figure 9 is a list of definitions for the terminology used throughout this literature Formation The name of our Android application Georgia Tech Police Police Department located at the Georgia Institute of Technology Department GTPD Integrated Development A software application that provides a simple tools and facilities for Environment IDE programmers for software development Application Program A set of tools and protocols that help with software development Interface API P pu M VERE User Interface UI Design of the way users interact with the application Android Studio An IDE created specifically for Android software development Eclipse An IDE that is commonly used by many software developers An online application that manages tasks and work to be done by a group Pivotal Tracker Figure 9 Terminology Overview Historical Overview The project was split up into three sprints over the course of the semester Our team met every Monday at 6 30pm to discuss progress made every week and the direction the team should take over the next week Sprint 1 At the beginning of sprint 1 we were still brainstorming ideas After pitching three different ideas the team decided that an application that managed group activity and group location was the most interesting A lot of research went into deciding the best way to go about producing the application Because our product is an Android application
4. UI components and transitions occur around it and add remove information on top of it The main menu portion was left for debugging and settings purposes but will be removed in later versions of the application Please click here to access the full size 1mage of the activity flow diagram Application starts splash screen After loading resources Login screen On success Select map On message button Message overlay On user selected Center map on pin On roster button Roster overlay On message selected Center map and display On log out button On hotdog button On find people button On messages button Hotdog menu On create team button L Create team form On edit team button Edit team form Figure 7 Activity Flow Diagram 1 April 27 2015 User Stories and Test Report We used Pivotal Tracker to mange our user stories and feature tests Figure 8 below shows an example of one of our completed user stories and the feature tests Each user story contains procedures to test the functionality of the feature and contains EXPECTED RESULTS For any test that fails we have also included the current functionality under ACTUAL RESULTS Please see the following link to access our Pivotal Tracker site mu em 3 Send POST request on createMessage route i Si mee pend a Set headers team D existing team username non existing user postedAt anything text anythi
5. features of our application to minimize privacy issues For our chatting feature users can author messages and pin them to specific locations on the map Each team holds its own messages so that messages are not displayable to members outside the team users are members of Messages contain location data so that users can geotag amp pin messages to the map and access them at any point in time Please click here to access the full image for the database ER diagram below lt text longitude gt C latitude lt postedAt Message n authors Member of usemame id ohoneNumber inaccurac _lastUpdate 1 n User Figure 4 Database ER Diagram 8 April 27 2015 LLL Database Schema Diagram Figure 5 below displays our database schema As mentioned previously Users have Teams they are a member of and can set preferences for each Team The messaging system in the application is also done through the database where messages are primarily associated with Teams in the API wrapper they are accessed through the representative Team objects but also associated with the user that authored them Please click here to access the full image for the database schema below User La uere oerte Team La ue Membership Message id user ia Team postedAt atitude longiude text Figure 5 Database Schema Diagram April 27 2015 UML Class Dia
6. may be more closely inspected Figure 3 displays our high level architecture diagram The backend is a simple Node js MySQL interface It communicates in JSON over HTTP allowing for portability between platforms Having the Node js wrapper also allows us to switch out the database implementation with whatever suits the application s needs The front end consists of two layers the main Android application with the usual Activities and supporting classes and the API interface The API interface is not application specific and can be reused with ease on another version of the Android application designed for tablets a version of the application without the interface for uses like tracking the locations of machinery rather than people or even a Java desktop application for administrators Please click here to access the full size image of the high level architecture diagram below MySQL Database SQL queries Node js API HTTP requests JSON encoding for parameters and responses Apache HTTP Lib API Wrapper And roid Async tasks Client Object oriented wrappers to API data items Front end Figure 3 High Level Architecture Diagram April 27 2015 LLL Database ER Diagram Figure 4 below shows our database ER diagram As we can see Users have a member of relationship to Teams such that each user can be a member of many teams For each user we store the minimum data required to run the group management and location
7. we elected to use Android Studio over Eclipse as our IDE Android Studio has many helpful tools and 15 supported by Google to make Android development much simpler Also future updates and maintenance will be easier with Android Studio After 13 April 27 2015 LL experimenting with Google Maps API we decided to use that instead of building the map from scratch With this API we were able to obtain real time location information and add markers to the map We used MySQL as our database since we were most familiar with it We also began to set up servers pull together old code segments that would be useful and coded a very generic initial app framework for testing and debugging In addition to back end decisions we discussed how the application would function and how it would work We also created mockups of initial UI design as shown in Figure 10 below Formation Demo Group 1 x Current McUser 1 el oon Maa a ET Invite Users to Group a NNI Team Memberson Leave Group 4 Team Memberson Jr Display Prefs i ME Idle O NotHere Etc Memberson Team Leadersmith Team meeting at the CULC at 500 PM Tuesday Figure 10 Sprint 1 UI Mockups By the end of Sprint 1 we had a Node js database and Google Maps set up and working In this phase of our development users would be able to see themselves on a map and drop pins on a map Users could also search for locations Sp
8. 5 M Thu Apr 16 forscyvusG gmail com 27 777 W hey wesley you re 2015 wi 1 e Thu Apr 16 wescarlani3 gmail c E om 2015 s If this icon exists the zie Ha fo message is geotagged forscyvusQ gmail com Tu Apr 16 Tapping anywhere on the other wing 2015 message will center the i Compose and send a message map on that location 3 forscyvus gmail com Mu 16 using this text entry area 3 14 13 48 EDT ic creer NOTE you can also compose a Roster A scrollable view of everyone on the team Touch an entry to center the map on that user s pin Touch Call to call that user Touch Route Me to display a route from your location to that user s Touch anywhere outside the view to close message from the main screen by long pressing anywhere on the map Georgia Aquarium 8 Compose a message Figure 19 Messaging Q D Formation 4 ry Call Route Me gt 0000002943 n stephencconwa M 14044014842 mo wescarlan13 14043847497 Spring St NW db Y E willi al William E 1 i i A eorgia Aquarium INN 9 y Use this text input field to Search for user filler users by name Figure 20 Roster 22 April 27 2015 Pin Info Boxes Formation Formation e Thu Apr 23 D 9 wescarlan13 forscyvusQ gmail com I 4247 EDT i 2015 14043847497 turner is her
9. FORMATION CS 4911 Senior Capstone Final Report LAUNCHED BY STEP ClO NA Y p Ew SHREYYAS VANARASE I pif Formation oc CHARLES HANCOCK C 3 we ES LEY D TIMOTHY CHU dE Je Ah ee T ne eri 9 sme gee WON So ey We le E AG April 27 2015 Table of Contents egoa E a E oom 4 VISIDEL Motivation y seisoin nonea Eaa Enas aAa ERARE Sainai 4 PET S18 EAA 5 m UN B Bg U 2 ita Apu zen cca za M Lea ina Lent ian Ren eM LUUD oM EE 6 Fe att ese ate seat aaa aa aa 6 UNE 6 cc NT E A ete eran mee eee nen eee ne 7 E aE E AAE EA EAE dep pact EEA AAA AASE 7 Bwer Aaaa I E E E N NAAA A A A AN T 8 Morino SCSI AANA AE OAE A J i C EENT IRTA IEN EAA ERARA AEN EAEE toes 10 AA EEEN E O EET EE E E EA N ES E E EA EEE E N E N A EE 15 can dcg V 11 Bue eq co Mi o NERO m 12 greene eet IEIUNII LIMINE MM M LE MEE 15 A a a TE TNT EN 13 Historical lig
10. ammates locations and arrange for a convenient meeting site through numerous texts or phone calls Often miscommunication happens when individuals are not familiar with the nearby area An application that resolves this group meeting issue would be able to quickly direct group members to convenient meeting sites on a real time map This application Formation seeks to simplify the group meeting process by enabling individuals a form of communication with location Individuals would be able to see the precise location of their teammates on a real time map Based on the proximities of group members across the map an individual could propose an optimal meeting location The map would then place a marker at this site and allow group members to be navigated to the arranged meeting spot A simple example of a group that would benefit from such an app would be a fantasy sports league A local league commissioner could create a group and add all the members of the league to the group On draft day the commissioner would see the locations of each member and propose a meeting location convenient for all members On top of deciding a last minute meeting location the application might serve as an interface to communicate with other team managers to either discuss trades or make announcements Tracking members locations in real time has professional use cases as well In fact GTPD has previously requested a custom application to integrate the camera and
11. arned This project allowed us to design an application from scratch to completion with full stack integration During Sprint 1 we brainstormed various ideas for the potential semester long capstone project We quickly realized the scope of the application would be difficult to measure at the beginning and so intensive planning was required to ensure that we would have a successful product by the end of the semester After finalizing on the application idea we allocated tasks to each of us based on our strengths We quickly learned that weekly progress report meetings were the most efficient manner of keeping our project on track Since each of us worked on tasks that may have been interrelated with each 17 April 27 2015 LL other we found that working in small sub teams was more effective than having large weekly coding sessions with the team of five During Sprint 2 we focused on adding features and backend support to our client side GUI As a team we communicated well among one another about tasks we needed to finish and asking for help when we individually needed assistance in completing that week s task We learned to improve our Pivotal Tracker management and assigned a Scrum Master to allocate work for each week This allowed us to view our objectives more clearly and visually track our progress more efficiently During Sprint 3 we focused on refining existing and adding new features to the application We also work on overall a
12. e Pin info boxes look and S Call Route Me AD AY DE function the same as entries L mnn A in the Roster and Messages views noth St NS IET HOME PARI High Muse z P Uff Rd NW a WESTSIDE IStN 5 I 2 Ethel St NW o o The pins touched to trigger the 2 z popups The green M pin is a e 5 S 10th St NW A f Ee geotagged message It will also m appear in the messages pane 2 8 A uM 2 Lu A 3 hee e tr lg x yw Q Jefferson St NW p So Senec of Technology p 5 309 E E Nr M Fee ce i 2 q 2i S e A Tow NO EA dM du s E A MARIETTA N BY STREET ARTERY TREET ARTERY x i i 2 o b Avenue NW yolk pee C b Linden Ave Search Go Search Go Figure 21 Pin Info Boxes 23
13. ecided on our project and spent time planning our application architecture Afterwards we made steady progress development and completed our expected tasks by the sprint 1 deadline Figure 13 Sprint 1 Burndown Chart 16 April 27 2015 Sprint 2 Figure 14 shows our progress during Spring 2 During this sprint we focused on adding varied features to the client side and server side of the Potrts remaining application We kept on track for most of this sprint until we reached Spring break at the beginning of LILLE TTT ITT March Figure 14 Sprint 2 Burndown Chart Sprint 3 Figure 15 shows our progress for Sprint 3 In this sprint we polished the application and produced a demo ready application by our final presentation date mid April For the first couple weeks of this sprint our teammates had midterms and as soon as these were over we focused back to our application Figure 15 Sprint 3 Burndown Chart Lines of Code In our code we produced 14 700 lines of code 50 of those lines were source code 40 of those lines were comments and 10 were empty lines Overall we did a good job commenting the code we produced so it would be easier for future use These stats were found using the statistics plugin found at https plugins jetbrains com plugin idea amp id 4509 Lessons Le
14. gram The UML class diagram is too large to display in this document format so we have attached it here It 1s an SVG file that can be displayed nicely by a browser such as Chrome or Internet Explorer once downloaded Please make sure that the zoom 15 set to 100 on IE to view clearly The detailed diagram also contains package information including references to notable external libraries We also provide the more abstracted package dependency diagram in Figure 6 for convenience Please click here to access the full size image of the package dependency diagram below _ 1st party packages E 3rd party packages api wrapper Figure 6 Package Dependency Diagram 10 April 27 2015 I AP We implemented the API on the server using Node js We found that documenting the functionality using a Google Sheet was extremely useful since no one had to decipher Node js code to figure out how to interact with the server and there was one authoritative source on the current operations In this same spreadsheet we documented the database schema and JSON structures These documents are all organized into different tabs in the Google Sheet here Activity Flow Figure 7 below displays the activity flow diagram It consists of the various states of the client side application that an individual would perceive while using the application The core client side functionality of Formation resides in the Google Maps Activity Most
15. ion behind Formation 1n the following sections we explore our fully developed Android application in greater detail We begin by providing the final high level architecture of the application We discuss the interaction of the individual classes in our final UML diagram and provide ER model and database schema diagrams to understand the structure of our database The Activity flow diagram displays the various states of the client side application that an individual would perceive while using the application After discussing the details of the software underlying Formation we provide analysis on the qualitative parts of our capstone project We consider the use cases of our application and tie in the effectiveness of Pivotal Tracker in managing the project scope To ensure the functionality of our application we report on the tests we made and the significance of testing to our application Finally we reflect on our team dynamics and the overall capstone experience through the post mortem For our future users we also provide a succinct user manual and installation instructions for a seamless introduction to Formation 6 April 27 2015 c Final Application Design High Level Architecture Diagram Note that in sprint 1 there were some concerns about readability of some of our diagrams To rectify this we have increased the size of the images as much as possible Additionally we have included links to the original images so that they
16. ng latitude anything oecon longtude tanything 4 Send GET request on getMessages route https www pivotaltracker com story show 91 1807 a Set headers team D existing team maxStaleness anythi STORY TYPE ye Feature ngl L a 5 Send GET request on getMessages route E 3Points a Set headers team D non existing team maxStaleness STATE Accepted on 03 Apr 2015 anything REQUESTER pwc David Wesley Carlan EXPECTED RESULTS OWNERS DWC SC SH 1 JSON response with SUCCESS status code 2 JSON response with NO SUCH KEY status code FOLLOW THIS STORY 3 followers 3 JSON response with NO SUCH KEY status code 4 Updated 26 Apr 2015 7 51pm JSON response with SUCCESS status code and an array of messages 5 JSON response with NO SUCH KEY status code DESCRIPTION edit We want users to be able to message each other and this requires i storing messages PROCEDURE 1 Send POST request on createMessage route a Set headers teamID existing team username existing user postedAt anything text anything latitude anything longitude anything 2 Send POST request on createMessage route a Set headers team D non existing team username existing user postedAt anything text anything latitude anything longitude anything Figure 8 User Story and Test Cases 12 April 27 2015 LL Post Mortem
17. o revamped the entire stack database node js Android application to support real time messaging We added third party login authentication with Google which allowed users to login using their already existing Google accounts Figure 11 below shows Formation in the map screen 98Q Formation Georgia Tech School of Architecture Georgia Institute of Technology Google Search Go Figure 11 Sprint 3 Formation Map Screen 15 April 27 2015 I Organizational Structure Figure 12 shows our organizational structure over the past semester Our group was organized quite evenly each member focused on completing his work for each week and then assisted others to meet weekly goals Stephen Lead Backend Database amp API Developer Client Side Backend Functionality Integration Shreyyas Lead Client Side Features Developer Code Testing Wesley Lead Server Side Developer Scrum Master Tim Head Google Authentication UI Client side Integration Charles Head UI Developer UI Client side Integration Figure 12 Group Member Task Allocation Project Metrics As of the v1 0 release on April 27 2015 these are the metrics of Formation Burndown Figures 13 15 are the burndown charts for each of the sprints These graphs are generated through Pivotal Tracker a tool we used to record our progress throughout the semester 5print 1 As Figure 13 shows in the first phase of the project until Jan 26 we d
18. officer tracking applications This application would allow GTPD members to track officer locations and even notify members of the GTPD group to request for backup by placing markers at specified locations Police members would be able to congregate at the marker and the scene of a crime much more quickly As another example in the past the Georgia Aquarium has asked a VIP project team to develop an application to track their tour guides and janitorial staff Given our expectations for this app Formation would potentially even allow Georgia Aquarium to easily perform this task Overall Formation is meant to supplement normal communication by displaying users locations and featuring group management functionality in a convenient aggregate format To facilitate further communication the Formation would have group and personal chat features April 27 2015 Problem Statement Determining the location of team members either for deployment or for deciding meeting locations Affects e e A multi step process to figure out the locations of all other members with current solutions text phone etc and the process becomes more difficult as the number of members grows An application that resolves this group meeting issue would be able to quickly direct group members to convenient meeting sites on a real time map The Problem of The impact of which is A successful solution wo
19. pplication robustness By this phase our time management and task allocation was very well handled We were able to complete the demo ready application within time Overall our team has had a spectacular senior capstone experience By the end of the semester each of us had contributed to developing a working full stack Android application The expertise everyone brought to building Formation was truly fantastic and 1t shows through the success of our application As we look into the future we hope to expand Formation even further and produce a marketable app after improving its robustness UI capabilities and group management features April 27 2015 Formation Installation Instructions To install Formation onto your Android device 1 Download the Formation APK at https github gatech edu sconway30 Formation blob master app app release apk 2 Make sure your device allows third party APKs to be installed in Settings gt Applications 3 Install the APK to your device 4 Run the Formation app NOTE If Google Maps does not properly display on your android device 5 Consider generating your own debug SHA key by following the instructions in the link below a https developers google com maps documentation android start get_an_android_certificate and the google maps api key 6 Add this SHAI to the Google developers console under APIs and Credentials by logging into console developers google com with the following login crite
20. r will be able to click and drag a member s pin on a map or place a new marker at a preferred location to direct him to the new site The app also supports basic communication Users can send out messages that everyone in the group can see Also users can pin messages that they deem important so they do not get lost in numerous messages Users can also message other users individually if they do not want the entire group to see a message Future Feature List amp Constraints In the future we will incorporate basic group formation features into our application including creating a group adding members requesting addition into a group deleting a group removing a member Adding to the communication features users will also be able to mute the group if they do not want notifications at the time In case users do not wish to have their location display on the map users will have the ability to hide their locations from group members Additionally because location of all the members can be seen we will implement a search function to help users easily find meeting locations based on the overall proximity of members to nearby landmarks Finally there are two main constraints we aim to achieve within the application 1 Availability This application must run 24 7 and be able to be backed up at any time 2 Portability The application must be supported by all recent versions of Android Summary Having understood the original vision and motivat
21. rint 2 Having planned most of the application architecture and user stories Sprint 2 was focused on completing tasks and improving app functionality We started by figuring out the Google API authentication to get the map to display Once we had that we separately started researching map features started coding the API wrapper package and started implementing the API functions on the server A lot of work was done on the API to get information about the user such as contact information and location We performed some basic testing of our API calls to make sure they worked Also a basic login UI was added 14 April 27 2015 LL Once the wrapper package was completed we connected everything together The front end invoked calls and received information to display from the wrapper which communicated with the server via HTTP The user and team creation and management were faked as this point since the focus was on functionality and these would provide logistical barriers By the end of Sprint 2 we had full front to back capabilities and users could see not only themselves but other users on a map Sprint 3 At this stage we implemented the more polishing aspects of the application Google plus authentication the splash screen the sliding menus and a general UI overhaul We completed the original proposed API implementation and integrated it with the map features we researched including route finding and location search We als
22. rion a username formation4908 gmail com b password formation491 1 7 Repeat Steps 3 and 4 April 27 2015 I Formation User Manual Introduction Formation is an Android application that allows groups of users to create and manage teams of users with a cohesive location based experience In a Formation Team you can see where each member is and send messages to a group chat system You can also view a directory of the users in the team and call their phones right out of the app This manual covers functionality through April 27 2015 Main Map Screen Touch to open the menu A user pin Grey means idle green means live Tapping this will bring up a pin information popup A pin cluster Tapping this will pull up a version of the pin information popup that scrolls Pins cluster as necessary due to zoom level Search Google Maps for locations Formation l Touch this button to recenter the map on you D e i HOME PARK cx NW NW 16 hos Techwood Dr NM iS ies a _ Ethel st NW Long press anywhere on the map to compose a geotagged message c 51 z v4 ZB N 10th St NW i ay 1 m pa 4 L ys E y 403 T 771 gt 20 A mE c Georgia Institute Your current location x A lt of Technology Kan Gs Spring St NW MARIETTA Luckie St NW Q Tap to bring up the roster
23. uld be Figure 1 Problem Statement Product Position Statement Teams and businesses that need information about the location of group ia members and employees when making decisions Who Professional meetings and Social Gatherings Our System Android Application That Manages Locations and Group meetings Unlike GroupMe GPS Tracker Pro Allows members of groups to see each other location It will also be able to locate good meetup locations for group members Figure 2 Product Position Statement Users Any individual who is involved in any sort of group or organization 15 our potential user Groups can be classified as either social or professional Individuals will use our application to communicate and stay in contact with their peers Also the application s GPS will allow users to not only see where other members are but also inform them where they are needed for assignments or meet ups Though we will try ensure an intuitive UX we assume our users will have the basic knowledge to navigate an average application April 27 2015 I Current Feature List We currently incorporated basic GPS features that include tracking and displaying a user s current location to all members in the group User will be able to route members to other members which will display a red line over the route on the map Users can also drop pins on the map with a message that can be seen by all members in the group In general a use
Download Pdf Manuals
Related Search
Related Contents
Valueline VGVP31000B50 Chicco 00.071508.000.000 Betriebsanleitung Einachs-Koffer ATD Tools ATD-7033 User's Manual Formation irisse 19012006PZ MD_V_CeteSO - Cerema Sud Kenwood XD-501 Stereo System User Manual NO DÉCHETS! Outdoor Electric Barbecue Grill - Blue Rhino Samsung ProXpress M3820ND Mono Laser (38 ppm) Керівництво користувача Copyright © All rights reserved.
Failed to retrieve file