You are on page 1of 20

oDrive.

infoPreamble

oDriveisaclientserversoftwarewhichismadetodealwitheverydaymotionoverany
geolocationonearth.Themajorideaissavingusergeolocationdataonserversidewhich
providesnumerousdifferentcommunitiesgroupsandprivateprogrammesoropenextensionsto
treatwithusergeolocationdata.
ThisisGPSbasedsoftwarewithloadsofusagecasesareavailability:
1)ifauserjustwalksroundthestreetshiseverydaycaloriescouldbecalculatedand
categorizedoverby92googlecategoriesautomatically.
2)Othercaseforuserswhohaveacar.Theycanliftsomebodyforfree,atafixedpriceor
atapricefor1kilometer.InotherwordsitisOpenTaxifunctionalitybutwithmodernfeatureslike
statisticalinformationandonlinetaxiobservingwhichincreasesdriver'savailability.
3)Thirdcaseinvolvesasmallboxorbigcargoshipments.ifauserlooksforsome
logistiche/shecanjustcreatenewtripwith<cargo>shipmentparameter.Afterthatany
registeredlogisticalcompanyoraprivatedrivercanperformthetransportationforhim.
4)Andfinallythethingwhichseparatesbeneficialtheprojectfrommanyotherisuser
privateroots.Eachusercancreateaprivategroup,invitetherefriendsandspreadamongthem
theirdailyroutes.Asforthepracticaluseofsuchsoftware,itcouldbeusedbyparentstomonitor
theirchildrenortocheckthelocationsofourcolleaguesareandalsotocalculatethetimethata
personneedstogettoacertaindestination.Sothatitispossibletoassignsometasktoeach
otherinsidethegroup.

Content

Landingpage
Header/Footer
Userstatisticspage
Personalsettingspage
DriverMonitorpage
TripContractPage
TripSummaryPage
Newtrippage
EarthPlacespage
oDriveGroupfunctionality

Landingpage

PortalStartScreencontains:
PortalLogo
User'sloginareablock.
TheNewUser'sRegistrationblock.
VideoAreablock.
Linkstoandroid/iphonemobileapplications.
BlockofLinkstoourpagesonsocialnetworks(FB,linkedIn,GoogleCircles,etc)
User'sInterface(UI)mustprovidepossibilitytoconnectwithoDrivefromsocialnetworks
accounts.
Acoupleofslidepictures(12)thatwillintroduceusersinfundamentalsofconceptionof
oDrive.(thisisonlyUIelement).
Mostrateddrivers/passengersand(visited)earthplaces/votedplaces.
foruservisualises<logo>,<username>,<driver/passenger>indicator,<user
verified>indicator,<rodekilometers>amount,dateofregistration.
forEarthPlacesvisualise<attachedimage>.Incaseimageisabsentjustsmall
MapblockwithmarkeronitHowmuchuserhavevisitedtheplace(justnumber).How
muchusershererightnow(justnumber)Theshortplacedescription.
WorldMapwithmarkeduser'splaceswhereoDriveishavebeenused.
Startdestinationfield/enddestinationfield
Startdate
Flexibledatescheckbox
Searchbutton

HeaderandFooter

Atthismomentthislookslikethis:

TheHeadercontains

Searchbarwhichallowstoseeusers/opengroupsby<dropdown>.
logoutbutton.Afterpressingonthisbuttonauserwillberedirectedtoastartpage.
messagebox.Hereappearsanotificationonnewmessagesaction.Inadditionanemail
willbesenttotheuser.
Inviteafriendlink.Byclickonitwillopenpopupwithemailfieldandbutton<invite>.
Linktopagewithadvanceduserdocumentationoftheproject
LinktoFeedBack/Contactspage.

oDrivehas<Usernotificationpopup>.Itissmallinformationalwindowwhichappliedto
overallportal.Herewillsituatessomehelpfulhintswhichshouldhelptousersunderstandsome
portalparticularities.Itshouldappearinsmartway,justbyclickonsmall<helpicon>.Incasewith
smalliconitshouldbeplacedanywhereontheportalpages.Theiconwillappearonly<on
focus>event.

UserstatisticsPage

Thepageconsistsof:

PanelweretimeperiodcouldbeadjustedbyDay/Week/MonthoptionsandStart
datecalendarfield.Itispossibletoswitchbetween<UserEarthPlacesStatistic>and<User
Routes>viewsbyclickonapanelicon.

UserEarthPlacesStatisticblok.Thisblockcontains10placescategorieswhichuser
hasvisitedrecently.Thiscategoriesareautomaticallycalculatedlines.Usesisnotputany
informationbyhisownhands.Everythinghereisautomaticallycalculateduserdatawhich
hadbeenprovidedbyserverside.Onepartofthedataisprovidingbymobilephone
geolocations.Themobileapplicationsendstoserversideuserslatitude,longitudeand
altitudedatapairsoverthetimewhenuserkeepoDriveapplicationONLINE.Otherpartof
thestatisticalinformationisaresultofusereverydaysroutineactivityoperationswhich
oDriveservercollectscarefully.Byclickonthecategoryitemuserwillbeabletoobserve
hisroutesindetails.Itwillbeshownonmapwithmarkers.
UserRoutesblock.ByclickonapanelicontheRoutesviewisshown.Hereuserroutes
aredisplayedbymapmarkersandscheduleitems.oDrivecalculatestypeofplaces
whosehadbeenvisitedbyuserandhowmuchtimehehavespentthere.Itisvisualised
onMapbymarkersandonschedulechartaslineitems.Inthisblockuserabletoseehow
muchhoursheorhisfriendrodeanywhere.Itispossibletoseeheredetailed
informationaboutparticularEarthPlace:setspecialnameforit,setupanparticular
category,uploadanimageandseealistofallalreadyuploadedtotheEarthPlace
images.
Roundchartstatisticview.Itiscombinationof<EarthPlaces>and<UserRoutes>.
Herevisualisethesamestatisticsplittedby10categoriesasin<EarthPlaces>blok.
Butbyclickingoneachroundchunkuserwillvisualiseappropriatecategoryrouteonthe
map.
CO2statisticblock.

PersonalsettingsPage

HereuserwillbeavailableuploaddriverlicenseanduserAvatarimages.Addmobile
number,adjustpaymentsettingsorexecuteothertypesofpersonalprivateactivities.oDriveuse
themobilenumbertosendsomeconfirmationSMS.Userwillbeaverifieduseronlyafterhehad
doneatleast5tripsbyoDrive.Assoonasuserhaddone5thtripoDrivesystemwilloffer3
paymentvariants:5EURfor10trips,10EURforhalfanyear,or15EURforayear.Usercan't
managenewtripsanymoretillthemomenthewon'tpaytheservicefee.Creationofnewgroup
willcostforuser1Euro.Butwearegoingtogetridofthisfeeinafuture.

Thepageconsistsof:

Adviceblokisacoupleofslidepicturesthatwillintroduceusersinfundamentalsof
conceptionofoDrive.Itisonlyaninformationaloptiontoonemoretimeexplainusershow
touseoDriveprojectandwheretheprofit.
Userpersonalinformationblockconsistof:(orreceiveitthroughsocialnetworks)
Uploaduserphotoandvisualisetheavatar.Useravatarimageurlis:
http://odrive.info/repository/home/<UID>/userAvatar.jpg
Addpersonalname/surnamefields.
Ageofbornfields.
Bornplace.Itshouldbeconnectedwithmapgeocoding.
Addadditionalemail.
Addmobilephone.
Paymentsblock.
PaybyFacebookicon.
PaybyWebmoneyicon.
Paybycreditcardicon.
PaybyPayPalicon.
Historyofalltransactionsshouldbeavailabletovisualize.Paymentblockprovide
functionalityofcashlessfundstransferring.Sotheblockspecifyfunctionalitytotransfer
certainfundsamountintooDrivesystem.Thisismeansthatallfundswhicharetransferred
byuserintooDrivesystemcouldbeusedtopayfordriversoranyotherkindofservices.Note
thatonlycashlessorderswithpaymentunderoDriveinternalsystemcouldhavethehighestlevel
ofusersafetyandsecurity.Thesystemcalculatesoveralltriprouteinkilometersandtransfers
requiredamountoffundstothedriverbalance.IncasewithFixedPriceaTripcouldbecharged
automaticallybytheendoftheparticulartripiftheoptionischeckedonuserprofile.Otherwise
thepaymentitselfcouldoccurbydriverrequestwhichuserjustconfirm.
Mycarsblock.Thisblockvisualizelistofalluserregisteredvehicles.Hereispossible
addnewcarblockwhichcontainsfollowingparameters:
VehicleRegistrationNumber.
UploadVehiclepassport.
UploadVehiclephoto.
AddVehiclemodelfield.
AddVehicleenginesizefield.
AddBaggagedimensionsfield.
Userfrends.HeresituateslistofAlluserfriends.Eachuserfrienditemhassmalliconto
invitehimintoparticular<usergroup>.Eachuserhasanimageindicatorswhichvisualise
ifuserisaverifieduserandifuserhasavehicle.Theuserfriendscouldbeinvitedfrom
socialnetworks,orbyemailsorbyoDriveinternalgroups.FollowingUIelements
becomesavailablebyclickonsingleuserfrienditem:
show/hidemyactive(current)geolocationwiththeusercheckbox.
show/hidemyStatisticswiththeusercheckbox.
showhidemyroutescheckbox.
Theuserlastregistredgeolocation.
Messagesbox.
Statisticbutton.Byclickonthebuttonuserwillberedirectedto<UserStatistics>
page.Herewillbevisualisedcompletelythesameuserstatisticspageexcept2
followingthings:1)SmallUserlogoimagewithshortpersonalinformationshould
beshownhere.2)Ifuserhavenoappropriatepermissionstoseethethefriend
statisticsthemessage<Youhavenopermissionstoseetheuserstatistics>and
emptypageviewshouldbeshownhere.
Userfilesblock.UsercanuploadanyfileorimagetooDriveServer.Alluploaded
imagesshouldvisualisehere.Foranyotherfilesshouldbevisualisedafileicon.
Byclickonparticularimageitwillbeexpanded(enlarged).Byclickonfileiconit
justdownload.

DriverMonitorPage

Therearenumerousfunctionalactivitiesavailableonthescreen.Thefunctionalitycould
beswitchedbyUIelements.
Incaseifuserwasredirectedonthescreenjustwithoutanyparameterslikefrom<statistics>or
<home>screensherewillbeshownamarkerinthemapareawhichpointstothelatest
registeredusergeolocation.
UsercandefinehiscurrentgeoLocationalwhetherviaTAPbythemapandpushbutton
setascurrentgeolocationwhetherautomaticallyviahismobileGPSdevice.

Differentsearchresultslistareprovidedfor<drivers>and<passengers>.Bytapon
eachresultitemshorttripinformationwillbeavailableinsmallblockonthepage.Byclickon
<order>buttonoDriveredirectsuserto<TripContract>pagewhichcontainsmoredetailed
user,vehicleandthetripinformation.

Tripfilterparameters:
Radiusparameter
Passengersquantity
Show/hideotherdrivers/passengers
Show/Hidefreetransferringorders
Transportationprice
Cash/ashlessparameter
Startdate/hourofthetransportation
Flexibledatescheckbox
Maxremotenessinkilometers.

Thescreencontainsthemapblockandthedynamicorderslistblock.

TripContractPage

Thepagecontainsmoredetaileduser,vehicleandthetripinformation.
Byclickon<haveadeal>buttonsendsinformationnotificationmessagetoappropriateusers
emailandmobilephone.Themessagewillbeavailableforreadingin<Usermessages>block
oftheuserpersonalsettingspage.Thesamemessagewillbeavailableforreadingonmobile
clientapplication.Bytaponthe<haveadeal>buttonuserwillberedirectedto<tripSummary>
page.

Avatarandpersonalinformation.
Carinfo
Quantityofriddenhoursandamountofexecutedorders.
Mapwiththerootand2markers.NoteIncaseof<priceforkilometeroption>were
chosenthecostofroadtripshouldbecalculatedandshown.Incase<fixedprice>were
chosenthepriceshouldbeshown.
Addshortmessageblock.
Userreviews/addnewreviewblock
Recentusertripslistblock
Userfriends
Userfilesblock
CO2info

TripSummaryPage

Thisisinformationalpagewhichsummarizedetailfrom<tripcontract>pageandcontains
severalsuggestionstouserwhattodonexttime.Seeattachedexamples.

NewTripPage

Thepageconsistsofthemapblock,newtripparametersblokandhistoryoftripitems.
Newtripparametersare:

Priceforkilometer/Fixedprice
Driverprice
Baggage
Shortmessage
Cartype.Fordriversalltheirsregistredcarswillbeshown.Foruserswillbeshownlistof
severalvariants:car,bus,autobus,train.
Spreadonlyamongselecteddriverlist(dropdown)
Onlyforverifiedusers
Fellowtraveller/s
Cash/ashless
Start/EnddestinationsMarkers.Itcanbesetbothways:bymaporbydropdownfields.
Passengersquantity
Scheduleblock.Bydefaultitishided.Itwillbeshownonclickbyappropriateicon.

Thepagehasseveralvariantsofusage.
Thisismeansdriversandpassengerscan
createtrips.AndbothofthemcanCreate
transportationofbaggagebyclicking<Iam
carrying>button.
Ontheinitialpagestatewehave<Iamgoing>,<Iamdrive>,<Iam
carrying>buttons.Dependingonwhatbuttonwastouchedbyuserontheinitial
state,thefieldparameterswilldifferslightlyatthefinalstage.
Afteruserhaveclickedby<Submit>buttonhewillberedirectedtomonitorScreen.HereDrivers
willbevisualiseduserswhichfittohimtripandifthetripwascreatedbypassengerherewillbe
visualisedallDriverswhichfittotheirtriportransportation.

Historyofallusertripsisavailableonthe<newtrip>page.
Byclickoneachtripitemsofthehistorylistmoredetailedinformationbecomesavailable.

oDriveEarthPlacesPage

Thepageisverysimilarto<monitor>page.

Tounderstandbetterwhatforcertainthispageisrequireslookthroughhttp://foursquare.comand
http://tripadvisor.comportals.Itcouldbeuseful.

Thepageconsistsof:
Uservisitedplacesanduseractualgeoposition.
Hereispossiblefilter/observeregistredEarthplaces
bynativeoDrivecategories
bymostpopularvisitsforadefinedperiod.Startdate/enddatefieldshouldbe
visualisedasadditionalparameter
ObservehowmuchpeopleareinparticularEarthplaceintheRealtimemode.
ByclickonEarthPlacemarkerPopupwiththeplacedetailsshouldbeopen.
HereispossiblecreateEarthplaceandattachtothemimages,descriptionsoranyother
files.ThisoptioncouldbeusefulforBarownersorfortouristsasaguide.

oDriveGroups

Allusersinsidethegroupcanobservewhereothermembersofthegroupissituates.Insidethe
groupispossiblecreatetasks,attachtothemgeolocationandassignittogroupmember.As
soonasuserwillreachthespecifiedgeolocationthesystemwillchangestatusofthetaskto
<resolved>statusautomatically.

ThepagecontainsfollowingGUIelements
Createnewgroup.
Groupname
Shortgroupdescription
Attachimages
Invitenewuserintothegroup.
Lookthrowlistofallusergroupsandtheirusers.AndfilterthroughalloDrivegroupsby
nameandcategory.Button<becameamember>ofthegroupshouldbeavailable.
Usercanlookthroughusermembersonlyifhehadbeenjoinedtothegroup.
Eachuseriteminsidethegrouphasaniconindicatorwhichshowifuserhasa
personalvehicle.
Eachuseritemhasaniconindicatorwhichshowsifuseraverifieduser.
OnthepageispossibletoCreateTaskandchoice<Assignforawholegroup>orAssign
thetasktoparticularuser.
Thetaskhasstarttime,endtimefieldsandcouldhasanattachedgeolocation
Thetaskcouldspecifyapriorityandtypefields.

MOBILEClientapplicationPreamble

Heresituatedanduplicationofwebapplicationfunctionality. oDrivemobileclient
applicationsendsusercollocationstooDriveserverwhichkeeptrackofalluseractivities.For
exampleyoucanmanageyourtripfromMoscowtoKyivcityjustbytheoDriveservice.Allyour
tripinformationwillbecalculatedandThatIT!Itwillbecategorizedbytypesandcamebackto
userasoDriveserversideresponse.Creationofmoreshorttripsareavailable.Forexampleas
adriveryoucanliftsomebodyalongthewaytoyourwork.Thisfunctionalityisavailableon
<monitor>screen.
Themobileapplicationshouldbeimplementedwithinternationalizationfeature.The
internationalizationmessageswillbeprovided.
Themobileapplicationshouldtreatvisualizationoflongdatalistsbysomekindof
pagination.
Allothersignificantpropertiesshouldbereadbytheapplicationfromseparated
configurationfile.ThesameforAPIrequestsurl.
Theapplicationjustsendsusersgeolocations(longitude,latitude)toserverinbackground.
Inbackgroundmeansitshouldkeepsenddataevenifuserhasbeenswitchedtoother
applicationorgamewindow.GPSdatamoduleshouldbeimplementedinmannerwhich
donothitbybatterytooextremely.SothatAGPSshouldbeusedtoo.Thesuggestionof
thealgorithmhere:eachsinglegeolocationshouldbesentonlyincaseifusermoved
morethan50metersfromhispreviousgeolocation.Thesecondconditionis:therequest
shouldnotbesendearlierthanoncein3minute.Inothercaseserversidewillgetmillions
unnecessarydatapairs.Theapplicationshouldstartsendthegeolocationpairs
immediatelyafteruserhavebeensignedin.
Theapplicationshouldfollowthe<CodeConvention>rules.
Theapplicationpackagesshouldstartwithinfo.odrive.<somePakage>

**********************************************************************************************************
ThisAPIcallsavesnewusergeolocation.Itshouldbeusedforbackgrounddatasaving.Itshould
startsendsdataimmediatelyafterMobileClientApplicationhadbeenstarted.

@Request("/secure/trackUserLocation.html",methodPOST)
@RequestParam(value="latitude")finalDoublelatitude,
@RequestParam(value="longitude")finalDoublelongitude,
@RequestParam(value="altitude")finalDoublealtitude,

Content

Login/RegisterScreen
HomeScreen
NewTripScreen
MonitorScreen
Statisticsscreen
UserSettingsscreen
UserProfilescreen

Login/RegisterScreen

Contains<Email>,<Password>fieldand<Enter>button.
ForAlreadyregistereduserthisscreenwillnotbeshown
anymore.TheHomescreenshouldbedisplayed
immediatelyforregistredusers.Theloginscreenwillbe
shownonlyforsignoutedusers.OptionLogin/Registerby
socialnetworksshouldbeavailabletoo.APIsectionsituated
below:

**************************************************************************************************************
@RequestMapping(value="/facebookRegister.html",method=RequestMethod.POST)
@RequestParam(value="userID",required=true)finalStringuserID,
@RequestParam(value="expiresIn",required=false)finalStringexpiresIn,
@RequestParam(value="signedRequest",required=false)finalStringsignedRequest,
**************************************************************************************************************
@RequestMapping(value="/loginData.html",method=RequestMethod.POST)
@RequestParam(value="pass",required=true)
@RequestParam(value="userMail",required=true)
**************************************************************************************************************
@RequestMapping(value="/registerData.html",method=RequestMethod.POST)
@RequestParam(value="userName",required=true)
@RequestParam(value="userSurname",required=true)
@RequestParam(value="email",required=true)
@RequestParam(value="gender",required=true)
@RequestParam(value="userPass",required=true)
**************************************************************************************************************

HomeScreen

Thescreencontains:

StatisticButton.BytouchwillopenStatisticsscreen.
NewTripButton.ByclickopensNewTripscreen.
MonitorButton.BytouchwillopenMonitorscreen.
SettingsButton.BytouchwillopenSettingsscreen.
Barwithlastregisteredgeolocationstatus
Logoutbutton.Forcaseswhenotheruserwantsto
usetheapplicationonthemobilephone.

@RequestMapping("/secure/getLastRegistredLocation.html",
method=POST)


Statisticsscreen

ThescreenworksonlybySingleAPIrequest.Tounderstandhowitworkpleasereferto
appropriatewebclientpagedescription.

Thescreenhasfollowingcommonparameters:
Day/Week/MonthDropdownfield.
SetDatefield.
Iftheparametersisomittedbytheusertherequestshouldsend<DayRequest>bydefault.

Thepanelinthebottomcontains<Statistics>and<Routes>switcher,datepicker,
<month/week/day>dropdown.
Bytapon<Routes>buttonopensascreenwithitemslistoftheuserroute.Itisjustserver
sideJSONresponsewithsomevalues.Thisitemslistshouldbeimplementedwithpagination.
Bytaponeachsingleitemshouldbedisplayed<detailedgeolocationinformation>screen.
TheinformationalreadypresentinServersideresponse.On<detailedgeolocation
information>screenusershouldhavepossibilitysetNameto
thegeolocation.Specifythecategoryanduploadphoto.
Bytapon<Statistics>buttonuserabletoseehowmuch
timehespentineachcategoryplace.Thevisualisationofthe
linechartsiscalculatinginpercentageamount.Itsplitsresultby
categoriesandgetthemaximumvaluefromserverside
responseas100%.Byclickoneachsinglecategorywillopen
<maproutes>subscreen.Onthescreenmarkerswhichfitonly
totheparticularcategoryshouldbevisualised.
*****************************************************************
@Request("/secure/getDayGeolocations.html",method=POST)
@Request("/secure/getWeekGeolocations.html",method=POST)
@Request("/secure/getMonthGeolocations.html",method=POST)
@RequestParam(value="date",required=true)DateACTUALFOR
ALLMENTIONEDAPICALLS
Notetoreceiveanyreportresultsusershouldaddatleast1background
geolocation:</secure/trackUserLocation.html>
*****************************************************************
url:"/secure/updatePlaceName.html",
placeNameValue:String
latitude:Double
longitude:Double
altitude:Double
typeOfPlace:typeofplaces

NewTripScreen

Thescreenconsistsof3subscreens:<parameters>,
<map>and<detailedtripinfo>.
Priceforkilometer/Fixedprice
Driverprice
Baggage
Message
Cartype
Spreadonlyamongscentedgroup
Onlyverifieddrivers
Fellowtraveller/s
Cash/ashless
Passengersquantity
Start/EnddestinationsMarkersisapartofsubscreen
withbigvisualizedmap.

Onclick<Create>buttonuserwillbethrownto<Detailedtrip
info>screen.oDriveServeraddstansportationId=<ID>
parameterinthetailoflocationstringasresultcreationof
somenewtrip.Incaseuserhascometothe<detailedtrip
info>screenfrom<newtrip>screenitshouldcontain<Show
WhoRide>buttonassoonasserverresponsewilldiffersfor
<drivers>,<passengers>and<cargos>.

Detailedtripinfoscreencontainsalltripspecificparameters
and2additionalbuttons:1)Goto<UserProfile>and2)In
caseusercameto<detailedtripinfo>screenfrommonitor
<resultslist>screen,<haveadeal>buttoninthebottomof
thetripinfowillbevisualised.Onclickbythisbuttonuserwill
1)bethrownto<UserPersonalProfile>screen.2)oDrive
serverstartstheworkflowdeal.

*********************************************************************
/secure/createTransportation.htmlPOST
@RequestParam("distance",required=true)long//valueinmeters
@RequestParam("transportationPrice",required=false)Int
@RequestParam("transportationShortTaskDescription"String
@RequestParam("ferryman",required=false)boolean
@RequestParam("baggage",required=false)boolean
@RequestParam("flexibleDates",required=false)boolean
@RequestParam("fellowTraveller",required=false)int
@RequestParam("verryfiedDrivers",required=false)boolean
@RequestParam("originDestinationGeolocations",required=false)
@RequestParam("startTransportationDate",required=false)Date
TransportationUIDwillbepassedintheSERVERresponse.

Thecalendarpickershouldnotgivepossibilitytoselectdates
fordatesbehindcurrentday(inthepast).

MonitorScreen

Contains3subscreens:the<map>screen,the<filter
parameters>screen,the<resultslist>screen.Incaseuser
comesherewithoutanyparametersthe<map>subscreenwill
beshownbydefault.Thelatestregisteredgeolocationmarker
shouldbeshownonthemap(/getLastRegistredLocation.html).Ifthere
arenoanyregistereduserlocationstillthemomentthemarker
shouldbeputaccordingtoactualGPSdata.Navigation
betweenthesubscreensisavailablebyclickonappropriateicon
oreitherbythumb+dragging.Afterfilterparametersissetuser
willbethrownto<resultslist>screen.Beingonthe
<resultslist>screenthemobileapplicationshouldaskoDrive
server/filterTransportations.htmlAPIrequestperiodically.The
defaultfrequencyperiodisspecifiedinapplicationpropertyfile.
ThevaluecouldbechangedbyuserfromGUIon<User
Settings>screen.Allnewresultlistitemsshouldsituatesintop
ofthelist.Ifusersituateson<map>subscreenandthereare
somenewdatafromserverthephoneshouldvibratealittleand
theyshouldbedisplayedabovethescreenfora1530seconds
likeamenu.Tobemoreclearseeattachedmockup.Onclickby
oneoftheseitemsuserwillbethrownto<detailedtripinfo>
screen.

Usercanfilteravailabletripsby
followingparameters:
baggage
radius
verryfiedDrivers
fellowTraveller
transportationPrice
Ferrymaninfluencetorespond:
driversorpassengers.(Itwillbe
changedtoBytevariable)
flexibleDates+
startTransportationDate
originDestinationGeolocations
Eachresultlistitemcontainssetof
informationalindicatorsaboutthe
transportation.ForexampleIftheuserof
particularitemresulthasavehicle,caricon
ispresentedinthetopalongwithUser
Name.Iftheresultitemisaboutcargo
transportationanothericonshouldbepresentedalongwiththeUserName.Ifuserisverified
member,appropriateiconispresentedalongwithtotaltripstipmessageamount.Byclickon
theresultlistitemthe<detailedtripinfo>screenopens.Useravatarimageurlis:
http://odrive.info/repository/home/<UID>/userAvatar.jpg

*****************************************************************
value="/secure/startMonitor.html",method=RequestMethod.POST
@RequestParam(value="transportationId",required=true

RespondwithlistofallnearestTransportationsavailableforparticular
geolocationwhichhavebeenspecifiedforparticularTripId.Ifthereare
noanyresultswasreturned.Shortinternationalisedmessageshould
bedisplayed:<Notripfound>.
*****************************************************************
/filterTransportations.htmlPOST
@RequestParam("tansportationId",required=false)LongIncasethe
paramispassedallotherparamsareomittingandserverrespondswith
nearesttripsandRodeUsers.
"transportationMode",required=true)finalByte//driverPrice=0,
fixedPrice=1,kmPrice=2
"transportationPrice",required=false)finalDouble
"transportationShortTaskDescription",required=false)finalString
ferryman",required=false)finalBoolean
"baggage",required=false)finalBoolean
"flexibleDates",required=false)finalBoolean
"fellowTraveller",required=false)finalBoolean
"verryfiedDrivers",required=false)finalBoolean
"originDestinationGeolocations",required=false)finalString
"startTransportationDate",required=false)finalDate
"radius",required=false)Double
Respondwithlistoffilteredtripsaccordingtothefilterparameters.
OriginDestinationGeolocationsparametercontainsfollowing
stringifieddata:{startLat:doubleValue,startLong:doubleValue}
radiusparametercontainsDoublevaluebetween1and50.

transportationModehasfollowingvalues:driverPricethisonemeansthatuseracceptsanydriverprice,
fixedPricethusresultswillbepresentedbytripswhichareonlyinfixedprices,kmPriceresultswillbepresented
onlyintripswhichareinkmPrices.

POSTRequestExample:
http://odrive.info/filterTransportations.html?baggage=false&fellowTraveller=false&ferryman=false&fixedPrice=false&fl
exibleDates=false&kmPrice=true&originDestinationGeolocations=%7B%22startLat%22%3A50.2981125512805%2
C%22startLong%22%3A30.467010489664972%7D&radius=35&transportationMode=2&verryfiedDrivers=true


UserProfilescreen

Consistsof
Uploaduserphotobuttonandvisualisetheavatar.Useravatarimageurlis:
http://odrive.info/repository/home/<UID>/userAvatar.jpg
Addpersonalname/surnamefields.
Ageofbornfields.
Bornplace.Itshouldbeconnectedwithmapgeocoding.
Addadditionalemail.
Addmobilephone.

@RequestMapping(value="/secure/getPersonalData.html",method=GET)
@RequestParam(value="uId",required=false)

MoreoverthisAPIrequestaregoingtoreturnsomecalculatedvaluesliketotalroadkilometers,
CO2,totaltrips,verifiedflagandsomeother.Alltheseparametersshouldbejustvisualisedon
thebottomofthescreen.

UserSettingsscreen

Thisonlyaboutaccuracyofsendingdatatoserverside.RefertosuggestedalgorithminthePreamble
section.

Groupsfunctionalityscreen

**********************************************************************************************************
"/secure/getLastRegistredLocation.html",method=RequestMethod.POST)
"latitude",required=true)finalDoublelatitude,
"longitude",required=true)finalDoublelongitude,
"taskId",required=true)finalLongtaskId,

**********************************************************************************************************
@RequestMapping(value="/secure/createNewGroup.html",method=POST)
@RequestParam(value="groupName",required=true)
@RequestParam(value="description",required=false)
@RequestParam(value="public",required=false)boolean
@RequestParam(value="invitedUsers",required=false)

**********************************************************************************************************
@RequestMapping(value="/secure/getUserProjects.html",method=POST)
@RequestParam(value="comboBoxMode",required=false)

Therequierurlwillbechangedtosoon.Allotherremainslegal.
**********************************************************************************************************
@RequestMapping(value="/secure/groupSearch.html",method=POST)
@RequestParam(value="group",required=true)finalString
@RequestParam(value="visibilityFlag",required=false)finalBoolean

Therequierurlwillbechangedtosoon.Allotherremainslegal.
**********************************************************************************************************
@RequestMapping(value="/secure/sendTaskInvitation.html",method=POST)
@RequestParam(value="recipientEmail",required=true)finalStringrecipientEmail,
@RequestParam(value="taskId",required=false)finalLongtaskId,
@RequestParam(value="projectId",required=false)finalLongprojectId,
@RequestParam(value="shortNote",required=false)finalStringshortNote,

You might also like