Vous êtes sur la page 1sur 51

Runninghead:RECYCLEIT!

FINALREPORT

RecycleIt!CapstoneFinalReport
JenniferDunham,JeremyFransen,HyoLee,ShawnMcBrayer
CaliforniaStateUniversityMontereyBay
CST499,DirectedGroupCapstone
Dr.
KrzysztofPietroszek
June14,2016


RECYCLEIT!CAPSTONEFINALREPORT

ExecutiveSummary
RecycleIt!isamobileAndroidappandwebappwhichintegratewiththeGoogleMaps
andGooglePlacesAPIstolistrecyclingcentersbytheirlocationandprovidekeyinformation.
GoogleAppEngineJavaisusedforthebackendserverforthemobileapp,whilePHPisused
forthebackendforthewebapp,allowingwebservicestosendandretrieveinformationfroma
MySQLcloudinstancethroughtheGoogleAppEngineplatform.Thewebappisimplemented
atthedomainRecycleIt.site.Informationsuchaswhatmaterialsfacilitiesacceptandwhether
theyreimbursewillbeobtainedfromuserinputandincorporatedintotheMySQLdatabaseas
theappsareused.Thenumberofplaceswiththesedetailsaddedwillgrowastheuserbase
growsandwillfurtherenhancetheuserexperience.
Rightnow,manypeoplerecycleattheirhomesthroughtheircityswastemanagement
utilityservices.RecycleIt!willallowthemtobenefitmonetarilyiftheychoosetotaketheiritems
toarecyclingcenter.Theycanalsotakeitemssuchascertainkindsofplastics,batteries,light
bulbs,electronics,andconstructionmaterialsthatarenottypicallyacceptedbyhomewaste
managementcompaniestorecyclingcenterthatwillacceptsuchitems.Inthisway,itemsthat
manypeopledisposeoftolandfillsaremorelikelytoberecycled.Additionally,somemaylive
inacommunitythatdoesnotofferrecyclingandmaywanttorecycleforethicalreasons.By
listingrecyclingcenters,whensomeonewantstoknowwheretodropoffitemsthattheircity
recyclingandwastecollectionservicewillnotaccept,likeplasticbags,theywillbeableto
identifyplacesthatdoacceptthem.Iftheyareinterestedinreceivingamonetaryreturn,theycan


RECYCLEIT!CAPSTONEFINALREPORT

takeintoconsiderationtherateofreturnfornearbyrecyclingcentersandthelocationoflocal
recyclingcenterswhendecidingwheretotaketheirrecyclablegoods.
RecycleIt!willencouragepeopletorecycleandcanprovidethosewhoalreadymakean
efforttocollectmoneyfortheirrecyclablegoodswithauserfriendlyresource.RecycleIt!Aims
tohelpchangetheendusersbehaviorbyenablinganewbehaviorthatiseasyandintuitive.
RecycleIt!isdesignedtomakeiteasyforanendusertorecyclemoreefficientlyandwithless
effort.Overall,RecycleIt!Aimstoencouragepeopletorecycle,tobenefitusersandrecycling
centers,andtopreventrecyclablematerialsfrombeingtakentolandfills.


RECYCLEIT!CAPSTONEFINALREPORT

TableofContents
Introduction/Discussion
..... 6
ProjectNameandDescription
..... 6
Problemand/orIssueinTechnology
....... 6
SolutiontotheProblemand/orIssueinTechnology
...7
ProjectGoalsandObjectives
... 7
CommunityandStakeholdersImpact
......9
EvidencethattheProposedProjectisNeeded
.....9
FeasibilityDiscussion
.. 10
DesignRequirements
... 13
FunctionalDecompositionoftheProjectandSelectionofDesignCriteria
..13
FinalDeliverables
.. 19
Approach/Methodology
. 19
LegalConsiderations
. 22
EthicalConsiderations
... 22
Timeline
. 24
KeyMilestones
.. 25
Budget
.... 25
UsabilityTesting/Evaluation
... 25
UnitTesting
... 25
UsabilityTesting
... 26


RECYCLEIT!CAPSTONEFINALREPORT

FunctionalTesting
. 26
RequirementsTesting
27
FinalImplementation
... 27
WebApplication
.... 27
AndroidApplication
.. 33
ImplementationProblems
.. 43
Conclusion
... 44
References
....47
AppendixA
..49
AppendixB
.. 50
AppendixC
.. 51


RECYCLEIT!CAPSTONEFINALREPORT

Introduction/Discussion
ProjectNameandDescription
Theproject,RecycleIt!,providesenduserswithanefficientwaytoquicklylocate
recyclingfacilities,aswellasdetailssuchaswhetherfacilitiesreimburseandwhatmaterials
theyaccept.Userswhoseektolearnwheretorecycletheirgoodsortolearnmoreabout
recyclingwillbenefitfromtheapp.Facilitiesthatproviderecyclingserviceswillalsobenefit
duetoincreasedbusinessandthegenerationofmorerevenueasmorepeopleuserecycling
centerstodisposeoftheirrecyclablematerials.Theenvironmentwillbenefitfromanincreased
awarenessofrecyclingandthuslessrecyclablematerialsarrivinginlandfills,andlessraw
materialswillbeextractedforthecreationofnewconsumeritems.
Problemand/orIssueinTechnology
Currently,manypeoplerecycleattheirhomesthroughtheirwastemanagementutility
company.Othersdonothaverecyclingoptionsattheirhome.Recyclinghasnumerous
advantagesbutisoftenunderutilizedduetoalackofknowledgeandamountofresearchneeded.
Peopleoftendonottakethetimetorecycleproperly,ifatall.Somearenotawareofthetypesof
materialsthatcanandshouldberecycled.Thereisnotcurrentlyastrongtechnologicalsolution
toenableuserstoidentifylocalcentersbasedonreimbursementstatusandmaterialsaccepted.
Whileexistingdatabasesofcentersexist,suchasinYP.comorGooglePlaces,theselistingsare
notspecifictotherecyclingindustryanddonotincludespecificinformationthatcanhelpauser
tomakeaneducateddecisionregardingwhichplacetovisit(i.e.,reimbursementstatusand


RECYCLEIT!CAPSTONEFINALREPORT

materialsaccepted),aswellaseducationalmaterialsaboutthebenefitsofrecyclingandthe
varioustypesofrecyclablematerials.
SolutiontotheProblemand/orIssueinTechnology
RecycleIt!,viaanAndroidandwebapp,willallowuserstolocatenearbyrecycling
centerstominimizetheamountofwastesentunnecessarilytoalandfillandtoenablethemto
benefitmonetarilyinexchangefortheirrecyclablegoods.Userswillalsobeabletoidentify
centersthatacceptparticularmaterialsthattheirlocalwastemanagementutilitycompanyor
recyclingcentersmaynotaccept.Registereduserscancontributetotheaccuracyofthedatabase
byupdatingthepropertiesoftheirlocalrecyclingcenters.Userscanalsolearnmoreabout
recycling,withinformationaboutrecyclablematerialsandthebenefitsofrecyclingintegrated
intotheapp.Thisinturnwillleadtousersbeingmoreinclinedtorecycletheirrecyclable
materialsinthefuture.
ProjectGoalsandObjectives
RecycleIt!aimstomakeiteasyforuserstolocatenearbyrecyclingcenters.RecycleIt!
willaccomplishthisgoalbyprovidingamobileAndroidappandwebapptoallowusersto
locaterecyclingcentersnearthemornearanysearcheddestination.Theappswillintegratewith
theGoogleMapsAPItodisplaycentersthatacceptrecyclablematerialsnearthemandwiththe
GooglePlacesAPItodisplayinformationabouteachresultingbusiness,suchasaddress,phone
number,andwebsite.RecycleIt!alsoallowsregistereduserstosavefavoriteplacesforeasein
locatingplacesthattheyintendtovisitorvisitfrequently.


RECYCLEIT!CAPSTONEFINALREPORT

RecycleIt!aimstomakeiteasyforuserstolocateplaceswhichreimburseandtolocate
centerswhichwillacceptparticularmaterialsofinterest,includingcommonrecyclablematerials
suchasaluminumcansorglass,aswellasdifficulttodisposeofmaterials,suchashousehold
hazardouswaste.RecycleIt!willaccomplishthesegoalsbyincorporatingaMySQLdatabasein
ordertostoreanddisplayuserinputregardingwhetheralistedrecyclingcenterreimbursesfor
thereceiptofrecyclableitemsandwhichmaterialsacenteraccepts.Abackendserver,Javafor
theAndroidappandPHPforthewebapp,willenabletheapplicationstocommunicatewithand
updatetheMySQLdatabasecloudinstanceontheGoogleAppEngineplatform.Registered
usersoneitherthewebapportheAndroidappmayupdatetheseproperties,whichstoresthe
valuestothedatabaseandthendisplaystheupdatedpropertieswhenthebusinessdetailsare
viewedthroughtheRecycleIt!app.
RecycleIt!aimstomakeiteasyforuserstolearnmoreaboutrecyclingandthusencourage
acultureofrecycling.Interesteduserscanlearnaboutrecyclablematerialsandthebenefitsof
recyclingthroughtheRecycleIt!app.RecycleIt!willenableuserstolearnaboutthevarious
typesofrecyclablematerialsaswellasrecyclingfactsandbenefitstorecyclingbynavigating
througheitherthewebapporAndroidappmenus.TheNationalRecyclingCoalitionprovides
muchofthisinformationandprovidespermissiontousetheinformationtheyhavecompiledfor
notforprofitpurposes.Assuch,thisinformation,whichhasbeencompiledbytheNational
RecyclingCoalitionfromvariousreputablesources,willbethebasisformuchofRecycleIt!s
educationalmaterial.


RECYCLEIT!CAPSTONEFINALREPORT

CommunityandStakeholdersImpact
RecycleIt!willhelpeducatepeopleonproperwaysofrecycling.Itwillfindthenearest
recyclingcenterandinformusersofacceptedmaterialsandwhetherthecenterwillreimbursefor
receivedgoods.Mostimportantly,itwillhelpchangepeople'sbehavior,whichleadstoless
materialinlandfillsanddecreasestheneedforexpansionofexistinglandfillstowardspopulated
areas.Asmorerecyclablematerialsarerecycled,theplanetcanbedepletedoflessresources,
whichwouldotherwisebeharvestedforthecreationofnewconsumergoods.RecycleIt!Aims
tohelpchangetheendusersbehaviorbyenablinganewbehaviorthatiseasyandintuitive.The
objectiveistomakeiteasyforanendusertorecyclemoreefficientlyandwithlesseffort.
Recyclingcenterswillbenefitfromtheincreasedbusinessandrevenue,whichwillbenefitthe
localeconomybymeansofincreasedtaxespaidbythelocalrecyclingbusinesses.
EvidencethattheProposedProjectisNeeded
Manystatisticalsurveysshowthatmostpeopledonotunderstandtheimpactrecyclinghas
ontheirlives,andwhenpeopledorecycle,theyoftenconfusetrashforrecyclablematerials.The
recyclingrateintheU.S.isapaltry34%(RecyclingRates,2015).Inastudyperformedin
2011,theTellusInstitutestatedthatachievinga75%recyclingrateby2030couldresultinthe
creationof2.3millionjobs,areductionincarbonemissionsequivalenttotaking50millioncars
offtheroad,andmanyotherbenefitsofreducingecologicalpressuresassociatedwithuseof
nonrenewableresources(Goldstein,Electris,2011).Theneedforbetterresourcestoeducate
andaidpeopleinrecyclingissignificant,yettechnologyhasnothadthesamepositiveimpact
thatothermovementshaveseen.Manyeffortstopromote,educate,andaidrecyclershavecome


RECYCLEIT!CAPSTONEFINALREPORT

10

andgone,andwhatremainsisasmallfootprintofwhatispossible.Currently,thereareno
predominantapplicationsintherecyclingmarketplace,andtheapplicationsthatareavailableare
ofteninaccurate,unmaintained,andoutofdate.TheRecycleIt!mobileapplicationhasthe
potentialtobethepredominantmobileapplicationandcombinedwithawebapplication,
RecycleIt!canhelptheU.S.achievethegoalofarecyclingrateof75%by2030.
SimilarrecyclingcenterfinderapplicationscanbefoundinApplesAppStoreand
GooglesPlaystore,thetwomajormobileapplicationstores,butthemajorityresideonbrowsers
aswebapplications.Whilenosingleapplicationcontainsallthefeatureswhicharetobe
implementedintheRecycleIt!application,severalexistingapplicationshavesimilarfeatures
suchassearchanddisplayusingGoogleMapsAPI,listviewsofsearchresultswithadditional
businessinformationfromGooglePlacesAPIaswellasadditionalinformationfroman
appspecificdatabase,registerandloginoptions,usercomments,andtheabilitytosave
favorites.Althoughotherdevelopershaveimplementedmanyofthesefeatures,major
differenceswillexist.TheRecycleIt!applicationwillintegratethefeatureslistedaboveintoone
cohesiveapplication.Anotherdifferenceincludestheabilitytoidentifymaterialsacceptedby
listedrecyclingfacilities.Thedifficultyinverifyingthematerialseachrecyclingcenteraccepts
limitsausersabilitytolocatetheappropriatecenterfortheirneeds.
FeasibilityDiscussion
Anenvironmentalscan/literaturereviewwasperformedbeforeundertakingthedesignof
RecycleIt!.Althoughmostoftheexistingrecyclingapplicationsandwebsitesaidintheprocess
oflocatingrecyclingcenters,mostoftheseapplicationsareoutdatedandoftenunmaintained.


RECYCLEIT!CAPSTONEFINALREPORT

11

Currently,themostaccuratewaytolocatenearbyrecyclingcentersisthroughawebbrowser
suchasChromeorFirefox,wheremunicipalitiesorthewastedisposalcompaniesthatare
contractedtoservethesecities,providemanyofthesesearchresults.Thesewebsitesorweb
applicationsarelimitedtotheirlocalsearchareas,andtheyareoftenunreliableandoutdated.
Onthestatelevel,severalofthelargerstatesofferstatewidewebapplicationssuchas
CaliforniasCalRecyclewebapplication(FindaRecyclingCenter,2016).Thesestaterun
webapplicationsarefarbetterthanthewebsitesofferedbylocalmunicipalities,butnoneofthe
statesponsoredwebapplicationsareavailableasnativeornearnativemobileapplications.
Onthenationallevel,theU.S.EnvironmentalProtectionAgencyswebsiterefersusersto
thirdpartywebsites,Earth911.comandRecycleNation.com(HowdoIRecycle?,2016).
Thesewebsiteseffectivelysearchnationwideformajorparticipatingrecyclingcentersbydesired
locationandmaterial,buttheytooarelimitedinsearchresults(GotSomething,Search,
2016).
Theremaininglandscapeforlocatingrecyclingcentersleaveslargesearchenginessuchas
yp.comandgoogle.com.Althoughthesesearchenginesdominatesearchesforplacesand
businesses,duetotheirwidescope,theydonotspecificallytargetrecyclingcentersandinclude
additionalinformationneededbyrecyclers.
Unlikethewebapplicationsenvironment,theAndroidapplicationsmarketisconsiderably
smaller.Themostprominentmobileapplicationwhilesearchingforrecyclingcentersin
GooglesPlaystoreis1800Recycling.com.Atthetimeofwriting,theirmobileapplication
returnsnosearchresults,anditappearstobenonfunctional.Currently,thepeopleat


RECYCLEIT!CAPSTONEFINALREPORT

12

Earth911.comdevelopthemostpolishedmobileapplication,iRecycle,andbyofferingbothweb
andmobileapplications,theyhavethemostcomprehensivesolutiontolocatingrecyclingcenters
andofferingrecyclinginformation.However,boththeirwebandmobileapplicationsomita
mapAPItosearchanddisplayresultsdirectlyonamapsuchasGoogleorBingmaps.Ofthe
fewAndroidrecyclingcenterapps,thereisonemobileofferingthatcurrentlyworkswithGoogle
MapsAPI,RecyclingBin.Impressively,SixthgradersfromaSTEMprograminWestFargo,
NorthDakotadevelopedthismobileapplication(Plasket,2013),andwhileitservesitsfunction
tolocaterecyclingcenters,theapplicationneedsfurtherdevelopmentandrefinementtobe
successfulonalargescale.
InorderforRecycleIt!tobesuccessfulandtostandapartfromitscompetition,itis
importantthatplacesarepulledfromtheGooglePlacesAPIratherthantoattempttodevelopa
separatedatabasethatislikelytobecomeoutofdateastimepasses.GooglePlacesismuch
morelikelytobemaintainedthanastandalonedatabasewithinRecycleIt!However,tobest
servetheneedsoftheendusers,aseparatedatabasewillbeintegratedwithRecycleIt!toallow
userstoviewandupdateinformationaboutrecyclingcentersthatisnotstoredinGooglePlaces.
Althoughitispossiblethatthisinformationmaybeincorrectoroutdatedduetobeingdependent
onuserentry,thisinformationissupplementaltotheinformationderivedfromGooglePlaces,
anduserscanalwayscallthelistedphonenumberorvisitthelistedwebsitebeforecommittingto
visitaparticularlocation.Ifsomeonefindsinformationlistedregardingmaterialsacceptedor
reimbursementstatustobeunpopulatedorincorrect,thatpersoncansimplyupdatetheentryto
becorrect,whichwillimprovetheexperienceforotherusersinthefuture.


RECYCLEIT!CAPSTONEFINALREPORT

13

ForeaseofuseandtoensurethatusersgetthemostoutofRecycleIt!,whethertheyprefer
touseamobileapporawebsite,RecycleIt!willbefullyfunctionalfromboththeAndroidand
webapplications.Userscanregister,login,search,updateplacedetails,addfavoriteplaces,and
learnaboutrecyclingfromthemobileapporwebsite,interchangeably,withasingleaccount.
Forthosewhodonotwishtoregisterforanaccount,boththeAndroidandwebappsallowfor
anonymoususerstosearchforrecyclingcenters,viewplacedetails,andlearnaboutrecycling.If
aregistereduserforgetshisorherpassword,itcanberesetviatheforgotpasswordfunction,
aslongastheyhaveregisteredwithacurrentandactiveemail.
Theculminationofthesefeaturesintooneappandwiththeaccessibilityprovidedby
offeringmobileandwebofferingswillallowRecycleIt!tostandapartfromitscompetition.
RecycleIt!cantrulymakeanimpactforusers,recyclingfacilities,andtheenvironment.
DesignRequirements
FunctionalDecompositionoftheProjectandSelectionofDesignCriteria
ThemajorfunctionsrequiredbytheRecycleIt!Projectaretheabilityforusersto(1)find
recyclingcenters,(2)displayinformationaboutrecyclingcenters,(3)learnaboutrecycling,(4)
registerforandlogintoanaccount,(5)savefavoriteplaces,and(6)updateplaceinformation.
TheusecasescenariodiagramsincludedinAppendixCdetailallusecasescenariosinthe
RecycleIt!App.ThespecificUseCasescenariosthataddressthesixmajorfunctionsidentified
abovearesummarizedbelow.
Foranyusertofindrecyclingcenters,ausermustfirstbeabletoviewthemap(UC1:
ViewMap),andGoogleAPIsmustbeintegrated.ThedecisiontouseGoogleAPIstopopulate


RECYCLEIT!CAPSTONEFINALREPORT

14

userssearchrequestsratherthanacustomdatabasefortheRecycleIt!appwasmadeearlyinthe
designprocess,astheuserexperiencewillbestbeservedbyaccessingadatabasethatwillbe
reliablyuptodate,vs.acustomdatabasethatreliestooheavilyonuserinput.Whilemore
challengingtodesignandtooptimizethesearchparameterstoprovidethebestresults,theuseof
theGooglePlacesAPIintheRecycleIt!Applicationwillconsistentlyprovideaccurateresults.
SeeFigure1,below,detailingtheusecaseforviewingrecyclingcenters.

Figure1
.UC5,AnyUser:ViewCentersUseCaseScenario
Foranyusertodisplayinformationaboutrecyclingcenters,bothGoogleAPIsandthe
DatabaseServletmustbeintegratedtopullinformationfromGoogleandfromRecycleIts
MySQLdatabase.AlthoughchallengesexistedtopullallnecessarydetailsfromtheGoogle
PlacesAPI,again,itwasdeterminedtointegratewithGooglePlacesduetotheneedfor
informationtobeascurrentaspossible.Inthiscase,RecycleItsdatabaseisalsousedtostore
information,butitislinkedtotheGooglePlacesinformationbyusingtheprimarykeyinGoogle
PlacessAPIastheprimarykeyintheRecycleIt!Database.SeeFigure2,below,detailingthe
usecasefordisplayinginformationaboutrecyclingcenters.


RECYCLEIT!CAPSTONEFINALREPORT

15

Figure2
.UC2,AnyUser:SeePlaceInfoUseCaseScenario
Foranyusertolearnaboutrecycling,thenavigationmenumustbeconfiguredtoallow
themtolocateanddisplaythedesiredinformation.Therearemanyexternallinksthatcanbe
providedtohelpeducateareaderonvariousissuesregardingrecycling,butthedecisiontocreate
learningpagesdirectlyintheRecycleIt!appwasmadetoensurethattheinformationbeingread
existed,bybeingpublishedontheRecycleIt!server.SeeFigures3,4,and5,below,detailingthe
usecasesfordisplayinginformationaboutrecycling.

Figure3
.UC12A,AnyUser:LearnRecyclingBenefitsUseCaseScenario


RECYCLEIT!CAPSTONEFINALREPORT

16

Figure4
.UC12B,AnyUser:LearnAboutMaterialsUseCaseScenario

Figure5
.UC12D,AnyUser:LearnRecyclingFactsUseCaseScenario
Foranonymoususerstoregisterforanaccountandforregistereduserstologintotheir
account,passwordencryptionisincorporatedtoprotectusersprivacy,adatabaseservlet
communicatesbetweentheappandthedatabase,theloginandregisteroptionsareincorporated
ontothenavigationmenu(replacedwithLogOutonceloggedin),andifausernameoremail
thatalreadyexistsinthesystemisattemptedtobeusedforasecondaccount,thesystemrejects
theregistrationrequest.Allofthelogicregardingloginacceptanceandcommunicationisdone
inthebackendservlettostreamlinetheprocessandhavetheRecycleIt!appsimplysend


RECYCLEIT!CAPSTONEFINALREPORT

17

requestsandreceiveJSONstringswhichtheycanfurtherprocess.SeeFigure6,below,detailing
theusecasesforuserregistrationandlogin.

Figure6
.UC7AandUC7B,AnonymousUser:RegisterUserandLoggedOutUser:
UserLoginUseCaseScenario
Forregistereduserstosaveplacestotheirfavoriteslist,ausermustfirstbeabletoseethe
placeinformation(UC2:SeePlaceInfo),andadatabaseservletcommunicatesbetweentheapp
andthedatabase.Beingloggedinisrequiredinordertosavefavorites,whichbenefittheusers
experience.SeeFigure7,below,detailingtheusecaseforallowinguserstoaddfavoriteplaces.

Figure7
.UC8,LoggedInUser:AddFavoriteUseCaseScenario


RECYCLEIT!CAPSTONEFINALREPORT

18

Forregistereduserstoupdateinformationregardingrecyclingcenters,includingmaterials
acceptedandwhetheracenterreimbursesformaterials,ausermustfirstbeabletoeitherseethe
placedetailsfromtheFavoritesList(UC9,SeeFavorites)orfromthebusinessdetailsactivity
(UC2,SeePlaceInfo).Thedecisiontodesignthewebsitetoonlyallowforplacedetailupdating
fromtheeditfunctionintheirfavoritelistwasmadeduetothecomplexitiesofincorporating
controlsontotheinfowindowpopupdisplayoverabusiness.IntheAndroidApp,allplace
informationisdisplayedonaseparatebusinessdetailsactivity,whichgivesmoreflexibilityfor
incorporatingusercontrols.Adatabaseservletcommunicatesbetweentheappandthedatabase.
Inordertobestallowforfuturescalability,thematerialsarestoredinthedatabaseunderasingle
fieldasacommaseparatedstring.Thisisintentional,asmorematerialscanbeaddedtotheapp
inthefuturewithoutaredesigntothedatabasetables.Boththebackendservletandthe
RecycleIt!apparewrittentoprocessthematerialvaluesinthismanner,andonlyminorupdates
tothecodewouldberequiredtoincreasethelengthofthearraythatstoresthematerialsafter
processingthecommaseparatedvaluesintherawdatastring.Thedecisiontoallowusersto
loginandthenrequireuserstobeloggedintomakechangestotheplacesdetailshelpstoensure
theusertakesaccountabilityforchangesmadeandpreventsauserfrommakingfalsechanges
maliciously.Whilenotcurrentlyintegrated,inthefuture,achangeloglistinguserIDscanbe
usedtohelptoidentifyproblematicusers.SeeFigure8,below,detailingtheusecasefor
displayinginformationaboutrecycling.


RECYCLEIT!CAPSTONEFINALREPORT

19

Figure8
.UC10,LoggedInUser:EditPlaceInfoUseCaseScenario
FinalDeliverables
ThefinaldeliverablesfortheRecycleIt!projectareanAndroidApplicationandawebsite,
accessibleatRecycleIt.site.
Approach/Methodology
ToaccomplishthecompletionofRecycleIt!,anAgiledesignmethodologywasused.
Beforeinitiatinganyprogrammingwork,theteammettodevelopalistofcumulative
requirements.Theserequirementswereassessedfornecessity(priority)andtimerequiredto
implementinworkunits(days).Correspondinguserstoriesandusecasescenarioswere
developed,asapplicable.Necessarytoolswereidentifiedtoassistinthedevelopmentofboth
appsandthemanagementofitscode.Thereafter,inweeklymeetings,plansforwhich
requirementstoimplementinthatperiodweremadeaswellasresponsibilitiesfor
implementation.Pairprogrammingwasheavilyutilized.AnopencommunicationviaGoogle
Hangoutswasusedtocommunicatewiththerestoftheteamdailyaboutanyprogressorissues.


RECYCLEIT!CAPSTONEFINALREPORT

20

Thisongoingcommunicationmadeholdingofficialdailyscrummeetingsunnecessary,asthe
teamwasalwaysincommunicationregardingprioritiesandstatus.Unittestingwasperformed
atthecompletionoftheimplementationofeachfeatureandreviewedattheweeklymeetings.
ThefollowingprogramminglanguagesandtoolswereusedtodevelopRecycleIt!andits
correspondingdocumentation:
Programminglanguages/scripting
Java
PHP
Javascript
HTML/CSS
JSON
IDEs
AndroidStudio(Javaandxml)
Backend/Server
GoogleAppEngineJava(BackendforAndroidApp)
GoogleAppEnginePython(PHPBackendforWebApp)
Database
GoogleCloudMySQL
APIs
GoogleMapsAPI
GooglePlacesAPI


RECYCLEIT!CAPSTONEFINALREPORT

21

Frameworks
Bootstrap
WebServices
HTTP
RESTProtocol
JSON
Libraries
jQuery
Ajax
Misc
draw.io(diagramming)
GitHub(collaboration)
AdobeIllustrator/Photoshop
SinceAndroidactivitiesarecloselycoupledtobothinterfaceanddataaccessmechanisms,
theModelViewViewModeldesignpatternwaschosen.Thedesignpatternofthecodewas
influencedbythestructureinherenttosoftwaredevelopedintheAndroidStudioframework.
TheViewistheuserinterfacederivedfromboththelayoutxmlfilesandtheViewModeljava
classes.TheModelisthebackendlogicwhichconsistsoftheJavaservlet,andtheViewModel
arethejavaclassesthatwerewrittentocommunicateandmodifythedata,drivingchangesfrom
thebackendlogictotheView.TheUMLClassdiagram(refertoAppendixC)showsthe
interactionoftheViewModelwiththeViewandModelaswellastheclassrelationships.The


RECYCLEIT!CAPSTONEFINALREPORT

22

DeploymentDiagramandDatabaseEntityRelationshipdiagrams(refertoAppendixC)show
themodel.TheUMLSequencediagramandUserStories/UseCasediagrams(refertoAppendix
C)showstheinteractionoftheviewwiththeViewModelandModel.
LegalConsiderations
TheRecycleIt!applicationsincludetrainingmaterialandimages.Thetraining
informationwasobtainedfromasitewhichallowsfortheuseoftheirmaterialfornotforprofit
purposes,theNationalRecyclingCoalition(NRC).TheNRCdoesnotrequireasitetolinkback
tothemasthesource,thoughRecycleIt!doesgivecredittotheNCRwheretheirinformation
wasused.TheRecycleIt!logoandimagesweredesignedinhouseastonotbesubjecttoany
copyrights.
EthicalConsiderations
TheRecycleIt!appisfreeandavailabletoanyonewithoutloggingin.Anonymoususers
maysearchforrecyclingcentersandviewinformationaboutrecyclingcenters.Furtherfeatures
areavailabletoregisteredusers,suchastheabilitytosaveplacestoafavoriteslistandthe
abilitytoupdateinformationaboutrecyclingcenters.Themajorethicalconcernforthe
RecycleIt!projectrevolvesaroundtheprotectionofusersinformation.Financialbarriersare
alsoanissuetoconsider,aswhiletheappitselfisfree,accesstoanInternetconnectedmobile
Androiddeviceoracomputerisrequiredtouseit.Thereareethicaladvantagesofpromoting
environmentalstewardship.
T
hemostimportantactiontoprotectregisteredusersprivacyistoimplementpassword

encryptionandtowritethecodewithprotectionfromSQLinjectioninmind.RecycleIt!ensures


RECYCLEIT!CAPSTONEFINALREPORT

23

privacyforusersbynottrackingusersGPScoordinatesorsearches,byencryptingtheir
passwordsonoteventhedevelopershaveaccesstoit,bynotrequiringrealnamestoregisterfor
theapplication,andbywritingthejavaservlettoprotectagainstSQLinjection.Online
anonymityispreserved.Forregisteredusers,theuseofausernameandemailpotentially
decreasestheirprivacy,thoughregisteredusersarenotrequiredtolistarealname.AsRobert
Plotkinstates,Clearly,anonymityontheInternetcanprovidemanybenefits,suchasthe
opportunitytodiscusssensitivematterswithoutfearofexposureorembarrassmentortheability
toprotectonespersonalinformation(Plotkin,2012).Theuserhastheoptiontoremain
anonymousandsimplyusetheserviceorusetheirpersonalinformationtogetmoreoutofthe
app.Sincetheserviceisnotacontroversialone,itisexpectedthattheinformationthatis
updatedontheappbebenignandgearedtowardshelpingothers,thoughthisisnotguaranteed.
Thereisanopportunitytoupdateaplacesinformationwithincorrectinformation.
BecauseRecycleIt!mustbeaccessedwithanInternetconnectedmobileAndroiddevice
orcomputer,financialbarriersisanethicalconcerntoconsider.Thosewithoutinternetaccess
areamongtheunderprivilegedgroupsunrepresentedbyRecycleIt!However,thislackof
informationwillnotnegativelyimpactthemitwilljustnotbenefittheminensuringthebest
returnfortheirefforts.
Overall,thelongtermenvironmentalimpactisexpectedtobepositive,aspeoplemay
becomeexcitedtorecycleandtogetthemostmoneyfortheirgoodsaspossible.Theappuses
technologytoprovideawayforpeopletotakebettercareoftheearthbynotdiscardingitems
thatcanbereusedthroughrecycling.ThemainpurposebehindRecycleIt!Istoencourage


RECYCLEIT!CAPSTONEFINALREPORT

24

peopletorecycle.Itwillalsohelppeoplewhoalreadyrecycletobenefitmonetarilyfortheir
recyclablegoodsatrecyclingcentersbygivingthemalistofitemstheycanbring,ifthey
reimburse,andtheclosestlocations.Inthatwayitwillpreventrecyclablegoodsfromendingup
inthelandfillsandwillpreventtheconsumptionofnonrenewableresourcesfortheunnecessary
productionofnewmaterials.
Timeline


RECYCLEIT!CAPSTONEFINALREPORT

25

KeyMilestones
Allkeymilestonesweremet.Theteamstayedontrackweekly.Thefinalpresentationis
scheduledforJune18,2016,afterthesubmissionofthisfinalreport,butisontrack.
5/02/2016Projectdesigndone.
5/15/2016.5Codereview.
5/24/2016.8Codereview.
5/31/20161.0Codecompletion.
6/04/2016Deploymentcomplete.
6/14/2016Testingcomplete.
6/18/2016Presentationcomplete.
Budget
Theonlymonetarycostinvolvedisthecostofthedomainnameandhostingforthe
website.Thesecostsarenegligible.Thehoursspentbyeachteammemberwerebudgetedto15
hourseachperweek,foratotalof60hoursperweek.Whileatvariouspointsthroughoutthe
developmentprocessthetotalhourswereoverbudgetashighas13%,bytheendoftheseventh
week(June14,2016),420totalhourswerebudgeted,and443hourswerespent,5%over
budget.
UsabilityTesting/Evaluation
UnitTesting
Unittestingwasperformedaftereachiterationforbothapplications,andbeforeandafter
refactoringintothemasterbranchofeachGithubRepositorywhereeachmasterbranchwasthen


RECYCLEIT!CAPSTONEFINALREPORT

26

retestedbyeachteammember.TheAndroidapplicationwasfirsttestedintheemulatorduring
earlyproductionandlateronvariousphonesandtablets.Testingforthewebsitewasfirst
performedonalocalserveronadesktopbrowseratvaryingsizes.Afterthewebapplicationwas
deployedliveitwasalsotestedonvariousdesktop,laptop,andmobiledevices,aswellasona
varietyofwebbrowsers(InternetExplorer,GoogleChrome,MozillaFirefox,Safari,andOpera).
UsabilityTesting
Usabilitytestingwasperformedbyoutsidegeneralusers.TheAndroidapplicationand
websiteweregradeduponintuitivedesign,easeofuse,andperformance.AsofJune14,2016,
thereare9responses,indicatingoverallsatisfactionwiththeusabilityoftheRecycleIt!
applications.Onascaleof1to5,theintuitivenessoftheinterfacewasratedasa5by55.6%of
respondersandasa4by44.4%ofresponders.Overallsatisfactionofperformancewasratedas
a5by88.9%ofusersandasa4by11.1%ofusers.Alltestersconfirmedviaratingsof5that
theappswereeasytouse,functionedasexpected,andthattheywereabletolocatearecycling
center.
FunctionalTesting
Allfunctionaltestingforbothapplicationswerecompletedthroughusertestingbasedon
eachmajorusecasescenarioandfunctionalrequirements.Theprimarygoaloffunctional
testingwastoinsurethatbothapplicationsperformedasexpectedforeachessentialrequirement.
Thefunctionaltestingsurveyreceived9responsesthatgradedeachapplicationas100%
functionalforalllistedrequirements.Further,theadvisingprofessorfortheRecycleIt!project,
Dr.
KrzysztofPietroszek
,wasprovidedwithanexecutableapkfilefortheAndroidappandthe


RECYCLEIT!CAPSTONEFINALREPORT

27

websiteURL.Aftertesting,noproblemswiththefunctionalitywereobserved,andDr.
Pietroszek
sonlycommentwastomoreclearlyconveythepurposeoftheapponthesiteshome
page.Thus,ataglinewasincorporatedonthemostrecentsiteredesign.
RequirementsTesting
Requirementstestingwasperformedthoroughlybyeachteambeforesendingout
requirementstestingsurveyformstogeneralusers.Eachkeyoutcomebasedontheestablished
requirementsdocumentationwastested,anduserswereaskedtoconfirmthateachfeature
worked.SurveyformswerecreatedfortheAndroidappandthewebappindependentlyto
specificallyaddresseachrequirement.AsofJune14,2016,thereare6responsestotheAndroid
apprequirementstestingsurveyand10responsestothewebapprequirementstestingsurvey.
100%ofusersverifiedthateachspecifiedfunctionwassuccessfullyaccomplished,withone
exception.Oneuserreportedthatheorshewasunabletoregisterforanaccount.However,
otherfunctionsthatrequiredregistrationandlogginginwerecompletedsuccessfully.Thus,this
responseappearstobeduetousererrorofthetestingformitself.
FinalImplementation
WebApplication
Thefinalwebapplicationcanbefoundhere:
http://www.recycleit.site
.Thewebportion
wasbrokendownintothefollowingfunctions:Search,WhyRecycle?,RecyclingGuide,
Contact,Register,Login,ResetPassword,andFavorites.BoththeAndroidapplicationandweb
applicationhavethesamefunctionality,andwhilebothapplicationsusethesamecloudMySQL
databasetogetandpostdata,thewebapplicationisdrivenbyaPythonserverusingPHP.To


RECYCLEIT!CAPSTONEFINALREPORT

28

completethewebapplication,theteamusedPHP,Javascript,HTML,CSS,Bootstrap,
jQuery/Ajax,AdobeIllustratorandPhotoshop,andGooglePlacesandMapsAPIs.Theweb
applicationisalsomobileresponsivetoservebothdesktopandmobileusers.
Throughthewebapplication,usersareabletosuccessfullysearchforrecyclingcenters
basedonanynumberofcommonaddresssearchcriteria,suchas,zip,state,address,etc.,through
anautocompletesearchfield.Aftersuccessfulregistrationandlogin,usersareabletosaveand
edittheirfavoriterecyclingcenters.Thewebapplicationstorestheplacedetailsandusereditsin
thecloudMySQLdatabaseinconjunctionwiththeAndroidapplicationtoseamlesslycreate,
update,delete,andeditdata.Theeditsmadebyregisteredusersarethendisplayedonthemaps
informationwindowsforothertosee.Thewebapplicationalsoallowsuserstocontactthe
RecycleItteamviaemailaswellastoresettheirpasswords.Screenshotsandacodeexample
follow.


RECYCLEIT!CAPSTONEFINALREPORT

29

Examplecode.Getsdetailsanddynamicallyplacesthemininformationwindows.


RECYCLEIT!CAPSTONEFINALREPORT

HomePage

Search

30


RECYCLEIT!CAPSTONEFINALREPORT

RecyclingGuide

Contact

31


RECYCLEIT!CAPSTONEFINALREPORT

32

SignUp

Login


RECYCLEIT!CAPSTONEFINALREPORT

33

Favorites

AndroidApplication
ThefinalAndroidapplicationcanbefoundatthefollowinggitrepository:
https://github.com/Hyoe/RIAndroidAPP
.TheexecutableAPKfilecanbedownloadedfrom:
https://drive.google.com/a/csumb.edu/folderview?id=0B9FbToye984SMkItRVJRd08yTEk&usp
=sharing
.TheAndroidportionwasbrokendownintothefollowingfunctions:Search,Why
Recycle?RecyclingGuide,RecyclingFacts,Register,Login,Favorites,andAboutRecycleIt!
BoththeAndroidapplicationandwebapplicationhavethesamefunctionality,andwhileboth
applicationsusethesamecloudMySQLdatabasetogetandpostdata,theAndroidapplicationis
drivenbytheGoogleAppEngineJavabackendserver.TocompletetheAndroidapplication,


RECYCLEIT!CAPSTONEFINALREPORT

34

theteamusedJavascriptandxmlandGooglePlacesandMapsAPIs,withtheAndroid
developmentbeingdoneinAndroidStudioandJavaservletdevelopmentinIntelliJIDEA.
ThroughtheAndroidapplication,usersareabletosuccessfullysearchforrecycling
centersbasedonanynumberofcommonaddresssearchcriteria,suchas,zip,state,address,etc.,
throughanautocompletesearchfield.Aftersuccessfulregistrationandlogin,usersareableto
savetheirfavoriterecyclingcentersandeditthedetailsofexistingrecyclingcenters.The
Androidapplicationstorestheusereditstotheplacedetailsandfavoriteslistinthecloud
MySQLdatabaseinconjunctionwiththewebapplicationtoseamlesslycreate,update,delete,
andeditdata.Theeditsmadebyregisteredusersarethendisplayedonthemapsinformation
windowsforothertosee.TheAndroidapplicationallowsuserstolearnaboutrecyclingandto
resettheirpasswordusingwebviewstotheappropriatewebPHPfiles.Screenshotsandcode
examplesfollow.
SplashScreen


RECYCLEIT!CAPSTONEFINALREPORT

35

Searching
Asearchcanbeperformedintwodifferentways.Thefirstishittingthegpsicontolocatenearby
recyclingfacilities.Thesecondistousethesearchboxandletautofillcompleteasearchfor
users.

SearchResults


RECYCLEIT!CAPSTONEFINALREPORT

36

ExamplecodefromtheAndroidfrontend.DisplayGoogleplacesonmap.


RECYCLEIT!CAPSTONEFINALREPORT

37

Businessname
Selectingamarkerbringsupthebusinessname.Furtherdetailscanbefoundaboutthebusiness
byselectingtheinformationwindow.

BusinessDetails
ThedetailscontainName,Address,PhoneNumber,Website,MaterialsAcceptedandHours.


RECYCLEIT!CAPSTONEFINALREPORT

38

PhoneNumber
Byclickingthephonenumberinthedetailspagethedialerwillautopopupwiththebusiness's
phonenumberallowingafastcall.

Website
Selectingthewebsitelinklistedinthedetailspageautoloadschromewiththebusinesses
website.


RECYCLEIT!CAPSTONEFINALREPORT

39

MaterialsSelected
Selectingthespinnerwheelinbusinessdetailsallowsyoutosavewhattypesofmaterialsare
acceptedattheselectedbusiness.ThesedetailsarestoredinRecycleItsdatabaseallowingusers
toquicklyupdatematerials.


RECYCLEIT!CAPSTONEFINALREPORT

40

Examplecodefromthejavabackend.BuildingtheJSONreturnstringfromaURL.


RECYCLEIT!CAPSTONEFINALREPORT

Menu
Themenuhastwostatesdependingonwhetherauserisloggedinornot.

LoggedInBusinessDetails
Onceloggedintheusercanaddthebusinesstotheirfavoriteslistandindicatewhetherthe
businessreimbursesornot.BothfeaturesarestoredinRecycleItsdatabase.

41


RECYCLEIT!CAPSTONEFINALREPORT

Favorites
Onceauserisloggedinfavoritesarehighlightedingreen.

RecyclingEducationPage
Anexamplescreenshotofaguidetothebenefitsofrecycling.

42


RECYCLEIT!CAPSTONEFINALREPORT

43

LogoutMenu

ImplementationProblems
Therewereanumberofproblemsthatappearedduringdesignandimplementation
phases.Thefirstmajorproblemwasfindingaversionofandroidstudioandjavathatwould
workwithallgroupmemberscomputers,acombinationofMacsandPCs.Thisproblemtook
theinstallationofthreeversionsofAndroidStudioandfourdifferentversionsofjavabeforethe
resultswereconsistentbetweeneachdeveloper.
Anotherunexpectedhurdleduringimplementationwasanerrorthatoccurredfrom
havingthewebappandtheAndroidappbothdeployedunderthesameprojectname.Inorderto
correcttheissue,anewprojectwascreatedunderGoogleAppEnginewithnewAPIkeys,and


RECYCLEIT!CAPSTONEFINALREPORT

44

theexistingCloudMySQLdatabasewasassociatedwiththenewwebapplicationprojectsothat
bothapplicationscouldutilizethesamedatabase.
SomebugsthatpreventedthesuccessfuldisplayofGooglePlacesdetailsoccurredearly
inthedevelopmentprocess.TheAndroiddevelopmentportionwassetbackbyatotalof9days.
WithoutformaltrainingorextensiveexperienceinAndroiddevelopment,timehadtobespent
doingselflearningandresearchtofullyresolvethesebugs.
Conclusion
Recyclinghasnumerousadvantages,butisoftenunderutilizedduetoalackofknowledge
andamountofresearchneeded.Peopleoftendonttakethetimetorecycleproperly,ifatall.
RecycleIt!willlistwhatmaterialsareacceptedateachrecyclingcenterandwhatmonetaryvalue
differentrecyclablematerialsareworthateachcenter.Inthisway,acceptedandnonaccepted
itemsarenolongercommingledintrashandrecyclingbins.Userscanalsoseethatitemsthat
theytheyoncethrewawayhavemonetaryvalueandarewelcomedatmostrecyclingcenters.
Recyclingcentersarelistedbasedonvarioussearchcriteria,e.g.,zipcode,address,state,GPS,
etc.,bywhichuserscanlocatetheclosestcenterstotheirdesiredsearchlocationandview
detailedbusinessinformation.Usersarealsogivenaccesstorecyclingguidesandfactstobetter
educatethemselvesonthebenefitsofrecycling.
RecycleIt!willhelpinformpeopleaboutthevariousmaterialsthatmayberecycled.It
willallowuserstofindnearbyrecyclingcentersandinformusersofacceptedmaterialsand
centersthatoffermonetaryreimbursement.Mostimportantlyitwillhelpchangepeople's
behaviorandbringawarenesstorecyclingwhichwillleadtolessmaterialinlandfills.


RECYCLEIT!CAPSTONEFINALREPORT

45

RecycleIt!aimstohelppeoplechangetheirroutinebehaviorbyprovidingasolutionthatallows
newbehaviortobeeasyandintuitive.Theobjectiveistomakeiteasyforanendusertorecycle
moreefficientlyandwithlesseffort.
RecycleIt!iscomprisedoffourmainelements:awebapplication,anAndroidapplication,
abackendserver,andaMySQLdatabase.GoogleAppEngineJavaandPythonbackendservers
wereusedtofacilitatecommunicationbetweentheappsandtheMySQLdatabase,whichresides
asaGoogleCloudInstance.Adomainnameandwebhostingwaspurchasedforthewebsite.
LearningAndroidprogrammingwasquiteachallenge.TheCSUMBcurriculum
consistedofonlyonebriefprojectonthesubject,butthroughpositivecommunicationand
collaboration,workablesolutionswerecreatedtoestablishaqualityfinalproduct.TheAgile
developmentprocessandpairprogramming,alongsidewithconstantcommunication,were
helpfulincreatingafunandproductiveworkingenvironment.
Possiblefuturegoalsforthewebsiteandandroidapplicationconsistoftheadditionofa
socialnetworkingportion.Thiswouldallowbusinessesanduserstomorecloselyinteract,
furtheringthegoalofanincreaseinrecyclingandrecyclingeducation.Inadditiontolisting
whetherplacesreimburseformaterials,particularpricescanbeincorporatedforeachmaterialin
ordertofacilitatedirectcomparisonsofbusinesses,andsearchescanbecustomizedtoreturn
onlybusinesseswhicharelistedasacceptingparticulardetails.Thesefeatureswillbeofmore
useoncetheuserbasebeginstogrowandthesedetailsareabletobeconsistentlypopulated.
Theabilitytoaddbusinessesthatauserisawareofbutdonotappearinthesearchresultsisalso
apotentialfutureimprovement.Toachievethis,theMySQLdatabase,whichwasalready


RECYCLEIT!CAPSTONEFINALREPORT

designedwiththisinmind,canbeupdatedbyaregistereduserwithallofthedetailsofanew
facility.Inthispotentialfutureimprovement,searchresultswillreturnplacesfromboththe
GooglePlacesAPIandtheRecycleIt!database,whichwillthenbedisplayedonthemap.
Despitetheseideasforpotentialfutureimprovements,RecycleIt!Iscurrentlyinasolid,
functionalstate.ThefinalAndroidappandwebapparereadytohelpfosteracultureof
recycling.

46


RECYCLEIT!CAPSTONEFINALREPORT

47

References
FindaRecyclingCenter.(2016).
CalRecycle
.Retrievedfrom
http://www.calrecycle.ca.gov/BevContainer/Recyclers/Directory/Default.aspx?lang=enU
S
.
Goldstein,J.,Electris,C.(2011).MoreJobs,LessPollution:Growingthe
RecyclingEconomyintheU.S.
TellusInstitute
.Retrievedfrom
http://www.tellus.org/tellus/publication/morejobslesspollutiongrowingtherecyclinge
conomyintheus
.
Gotsomethingtorecycle?(2016).
Earth911
.Retrievedfrom
http://search.earth911.com/
.
HowDoIRecycle?:CommonRecyclables.(2016,April7).
EPA,UnitedStates
EnvironmentalProtectionAgency
.Retrievedfrom
https://www.epa.gov/recycle/howdoirecyclecommonrecyclables
.
Plasket,K.(2013,September6).
AWinningApp.
Retrievedfrom
http://www.timeforkids.com/node/101581/print
.
Plotkin,R.(2012).
Computers,Internet,andSociety
.Retrievedfrom
http://go.galegroup.com.library2.csumb.edu:2048/ps/retrieve.do?isETOC=true&inPS=tru
e&prodId=GVRL&userGroupName=csumb_main&resultListType=RELATED_DOCU
MENT&contentSegment=&docId=GALE|CX2021700011
RecyclingRateAroundtheWorld.(2015,September2).Retrievedfrom
http://www.planetaid.org/blog/recyclingratesaroundtheworld
.


RECYCLEIT!CAPSTONEFINALREPORT

48

Search.Find.Recycle.(2016).
RecycleNation
.Retrievedfrom
http://recyclenation.com/
.


RECYCLEIT!CAPSTONEFINALREPORT

49

AppendixA
Usability/EvaluationTestPlan
Usabilitytesting,functionaltesting,andrequirementstestingformshavebeendeveloped
andprovidedtotestersalongwithanexecutableapkfilefortheAndroidappandalinktothe
webapp.TestersconsistedoffriendsandfamilywhovolunteeredtotestRecycleIt!Linkstothe
varioustestingformsfollow.
UsabilityTesting.
https://docs.google.com/forms/d/1YC8SDMrxXB6dljq6wq5hzR3akn_jnWdtdqgWuatnIAY/edit?
usp=sharing
FunctionalTesting.
https://docs.google.com/forms/d/1n4zjxNzSdFQKaPC2HGib7srURfp9USFjKu3H5x4pks/edit?u
sp=sharing
WebApplicationUsability/RequirementsTesting.
https://drive.google.com/open?id=1BeUahu7WsDhLwLVDIsKo0LXSh3sxxqtW4W1qKrcNl_g
AndroidApplicationUsability/RequirementsTesting.
https://drive.google.com/open?id=186Oytvjm1bduOdVoKTjn9S6wA2PU4Iydp_hMojhY


RECYCLEIT!CAPSTONEFINALREPORT

50

AppendixB
TeamMemberRolesandResponsibilities
TeamMembers
JenniferDunham,JeremyFransen,HyoLee,ShawnMcBrayer.
Roles
JeremyandShawncreatedthefrontendoftheAndroidapplication.JenniferandHyo
completedthebackendofthemobileandwebapplications.JenniferandHyocreatedthe
frontendofthewebapplicationandtheMySQLdatabase.Testinganddebuggingwere
completedasateam.


RECYCLEIT!CAPSTONEFINALREPORT

51

AppendixC
Documentation
RequirementsDocumentationwithCorrespondingUseCases.
https://drive.google.com/open?id=19ucnpscDmESwmFOYyp63uLeCuJOBVr7DDpDl5WhU
uN8
CumulativeUseCaseDiagram.
https://drive.google.com/open?id=0B9EGg1h7svIraHJtYTV5M2t2NkE
UMLClassDiagram.
https://drive.google.com/open?id=0B9EGg1h7svIrTldCYU1Yb2pGTlk
DeploymentDiagram.
https://drive.google.com/open?id=0B9EGg1h7svIrTzZOMWtJdHkzN0k
DatabaseEntityRelationDiagram.
https://drive.google.com/open?id=0B9EGg1h7svIrT24xaHZsNXNRTGc
UMLSequenceDiagram.
https://drive.google.com/open?id=0B9EGg1h7svIrOHZVRmQyd0FySUU
Poster.
https://docs.google.com/a/csumb.edu/presentation/d/1M0_bVDKtces18HA2lskp4i49gqIU4c
3FVdwYGd31Hw/edit?usp=sharing