Weitere ähnliche Inhalte
Ähnlich wie ClimbingRoutes (20)
ClimbingRoutes
- 2. Table,of,Contents,
REVISION(HISTORY( 3!
INTRODUCTION( 4!
FEATURES(OF(MVP(AND(FUTURE(VERSIONS( 5!
USE(CASES(AND(FLOW(DIAGRAM( 7!
USE(CASES( 7!
FLOW(DIAGRAM( 7!
E/R(DIAGRAM( 9!
ENTITIES( 9!
IMPORTANT(RELATIONS( 9!
ARCHITECTURE(DIAGRAM( 10!
PRESENTATION(LAYER( 10!
APPLICATION/(BUSINESS(LAYER( 10!
DATA(LAYER( 11!
LOCAL!DATASTORE! 11!
SUPPORT!INFRASTRUCTURE/!SERVICES!(BACKEND)! 11!
ADDITIONAL(SERVICES( 11!
APPENDICES( 12!
APPENDIX(A:(FLOW(DIAGRAM( 13!
APPENDIX(B:(E/R(DIAGRAM( 15!
APPENDIX(C:(ARCHITECTURE(DIAGRAM( 17!
!
- 4. Introduction
!
Mountaineering! is! not! an! easy! job.! In! order! to! climb! the! mountains,! climbers! need! to! know!
various!aspects!related!to!a!particular!mountain!like!the!type!of!mountain,!best!routes!to!climb!
those!mountains,!difficulty!level!of!climbing,!various!weather!conditions!at!different!points!in!the!
mountains! and! most! importantly! sometimes! it! is! very! important! to! get! the! reviews! of! various!
other! mountain! climbers! that! have! already! climbed! a! particular! mountain! in! order! to! plan! a!
particular!hike.!
!
With!the!advent!of!new!technologies!in!mobile!applications!and!the!idea!of!crowdsourcing!the!
life!of!human!being!has!become!very!convenient!yet!there!are!no!mobile!applications!that!can!
help!mountain!climbers!to!plan!a!successful!hike!on!a!mountain.!Therefore,!in!order!to!solve!this!
big!problem,!we!suggest!a!mobile!application!+!ClimberzzAssist!that!can!help!mountain!climbers!
to!plan!and!navigate!various!trips!in!order!to!successfully!climb!different!mountains!while!taking!
various! constraints! into! consideration! like! limited! internet! connectivity! and! battery! life! that!
climbers!need!to!deal!with.!
!
- 5. Features of MVP and Future Versions
!
While!designing!the!application!we!came!through!various!features.!We!prioritized!some!of!the!
features!for!Minimum!Viable!Product!(MVP)!as!version1.0!and!some!of!the!extra!features!as!an!
addition!to!the!MVP!for!future!versions!of!the!app.!
!
Following!are!the!features!in!ClimberzzAssist!for!version!1.0!(MVP):!
!
1.! Crowdsourcing:!Crowdsourcing!is!one!of!the!most!important!features!for!our!mountain!
climber! application,! since! a! climber! is! interested! in! reviews! of! some! of! the! other!
mountain!climbers!who!have!done!the!trek!on!a!particular!mountain!before.!This!allows!
himself!or!herself!to!prepare!for!the!trek!and!to!get!some!idea!beforehand!or!in!real!time!
about! the! trek! as! to! what! to! expect! in! that! particular! route.! Through! crowdsourcing!
people!can!post!various!reviews.!This!reviews!can!include!various!attributes,!such!as!!
i.! Total!number!of!miles!for!a!particular!trek!
ii.! Elevation!of!a!mountain!
iii.! Overall!difficulty!level!of!climbing!
iv.! Various!photos!and!videos!of!natural!beauty!that!one!can!expect!on!those!
mountains!
v.! Difference!in!weather!conditions!at!different!points!on!mountain!
vi.! Permit!information!that!is!required!beforehand!!
vii.! Wildlife!!
viii.! Available!camping!places!on!those!mountain!
!
2.! Planning:! Our! application! should! also! allow! the! mountain! climbers! to! plan! their! trip!
beforehand!so!all!the!above!crowdsourcing!information!can!be!available!to!the!climber!
and!he!can!plan!the!trip!as!per!his!convenience.!This!planning!is!done!in!advance,!so!we!
are!assuming!that!the!user!will!have!internet!connection!throughout!this!planning!phase.!
Once!the!user!explores!various!route!options!and!mountains!and!decides!which!trek!he!
likes,!he!will!save!that!particular!trip.!This!saved!treks!will!be!added!to!his!section!“My/
Favorite/Routes”,!which!will!be!saved!on!his!personal!phone!so!that!he!can!bring!that!
route!in!his!actual!trek!in!offline!mode.!
!
3.! Onsite:!In!this!phase,!the!user!is!actually!on!the!trek,!therefore!we!can!assume!he!has!
no!or!very!limited!internet!connectivity.!Taking!this!important!fact!into!consideration,!!we!
want!to!make!sure!that!the!user!can!still!be!able!to!access!all!the!saved!routes!on!his!
phone! by! storing! them! locally! on! his! phone.! Moreover,! since! a! map! of! the! particular!
mountain! will! already! be! available! in! mobile! offline,! the! ClimberzzAssist! app! will! also!
show!his!current!location!on!the!trek!and!routes!in!case!a!climber!decides!to!follow!a!
custom!track!on!his!own!thanks!to!the!ability!of!the!GPS!on!the!phone!to!work!offline.!
This!features!allows!users!to!use!this!app!in!offline!mode!and!also!is!optimized!for!power!
consumption,!considering!the!important!fact!that!the!user!has!limited!battery!life!on!his!
mobile!phone!during!the!trek.!
- 6. 4.! Visual:!Predominantly!for!MVP!it!is!a!visually!oriented!app!that!shows!all!the!necessary!
required!visuals!in!order!to!perform!the!trek!successfully.!
!
Below! are! the! features! that! we! have! considered! an! extension! to! our! MVP! for! Version! 2! of!
ClimberzzAssist:!
!
1.! Health!Tracker:!Allowing!the!mobile!app!to!connect!with!various!health!tracking!devices!
like! smart! watches! that! can! track! various! health! related! issue! like! heartbeats,! blood!
pressure,!calories!burned,!oxygen!level,!etc.!on!the!go.!
!
2.! Audio!Features:!Allowing!the!app!to!pronounce!all!the!information!related!to!the!route!
on! the! real! time! while! climber! is! doing! his! trek! so! that! he! can! get! all! the! information!
about!the!route!through!speakers!or!headphones.!As!a!result!of!this!audio!feature,!the!
user!won’t!need!to!look!at!his!mobile!phone!again!and!again,!avoiding!distractions!while!
climbing!the!mountain.!
!
!
3.! One! click! emergency! services:! This! feature! allows! users! to! actually! call! any!
emergency! services! like! 911! on! just! one! click! of! the! button! within! the! app! itself.! This!
emergency! services! will! be! using! satellite! services! since! user! will! not! have! network!
connectivity!on!the!mountains.!
!
4.! Social!Media:!This!feature!will!allow!integrating!ClimberzzAssist!to!other!social!media!
sites!like!Facebook,!Flicker,!Twitter,!Pinterest,!etc.!so!that!user!can!post!various!status,!
pictures!and!others!directly!from!within!the!app!
!
- 7. Use Cases and Flow Diagram
!
Use Cases
!
There!are!two!main!Use!Cases!that!we!need!to!consider!for!this!App.!
1.! The!Planning!Phase:!When!a!user!is!not!in!the!hiking!site!but!is!planning!to!go!for!a!
trip.!In!the!phase!the!user!needs!to!have!access!to!all!the!information!needed!to!decide!
which!mountain!route/trail!he!or!she!will!be!hiking.!
!
2.! The!Onsite!trekking!phase:!In!this!phase!the!user!is!on!his!hiking!route/trail!which!he!
decided! using! the! planning! phase.! In! the! phase! the! user! needs! to! have! information!
about!the!route,!his!current!location,!the!route!he!has!taken,!demographics!of!the!route!
etc.!
!
Flow Diagram
!
Exhibit!!
!
Appendix!A:!Flow!Diagram!
!
gives!a!basic!representation!of!the!visual!Flow!Diagram.!Following!there!is!a!short!description!of!
the!different!stages!of!the!application.!
!
Login!
The!App!initially!asks!the!user!to!sign!up!or!login.!
Next!the!user!is!presented!with!two!options!!
1)! The!Plan!routes!button!
2)! My/Saved/Routes!button.!
!
The!Plan!Routes.!
On! Clicking! the! plan! routes! button! the! user! is! taken! to! a! page! with! a! search! bar! and! some!
suggested!nearby!popular!hiking!destinations.!
The!user!can!either!search!for!a!location!on!the!search!bar!or!click!on!one!of!the!suggested!
locations.!
!
Then!the!user!is!taken!to!the!page!which!list!a!number!of!routes!crowdsourced!by!other!users!
for!that!particular!locations!
!
On!clicking!one!of!the!routes!the!user!is!taken!to!a!page!which!gives!detailed!information!about!
the!routes!like!Path,!reviews,!photos,!rating,!difficulty!etc.!!
On!this!page!the!star!button!saves!the!route!to!the!My/Saved/Routes.!
- 9. E/R Diagram
!
Entities
!
User!
Authentication!is!very!important!for!any!app!due!to!security!reasons.!The!User!Entity!requires!
an!user!to!login!to!the!system!providing!certain!personal!information!and!by!creating!an!account!
using!user!id!and!password.!
!
Mountain!
It!contains!the!name!of!the!mountain!along!with!the!location.!“Location”!here!is!a!keyword!as!we!
focus! on! the! feature! to! narrow! down! the! search! to! the! mountains! located! near! the! user!
(Location! of! User! by! GPS)! or! to! a! particular! area! where! the! user! is! interested! in! for!
mountaineering.!!
!
Routes!
It! contains! all! the! routes! corresponding! to! a! particular! mountain! including! the! relevant!
information! about! each! route! such! as! the! starting! and! ending! points,! the! trails,! miles! and!
elevation!and!also!the!Permit!Information!by!the!Government!(if!any).!
!
Review!
It! is! the! review! about! a! particular! route! corresponding! to! a! particular! user.! It! contains! the!
difficulty!level,!weather!conditions!(changes!in!weather!according!to!elevation),!special!camping!
areas,!wildlife!scenario!in!the!path,!difficulty!level!and!comments.!
!
Media!
This!entity!contains!the!images!uploaded!by!the!mountaineers!attached!to!the!reviews.!!
!
Important Relations
!
Saved!Routes!
This!relation!contains!just!the!saved!routes!corresponding!to!a!particular!user.!When!the!user!
plans!to!go!for!mountaineering!he!plans!ahead!and!he!goes!online!to!do!a!research!on!all!the!
possible! routes! he! can! take! corresponding! to! a! particular! mountain.! This! comes! from! the!
crowdsource! database! where! all! the! route! information! for! a! particular! mountain! are! stored.!
Keeping!in!mind!that!there!will!be!no!internet!connection!once!in!the!mountain!the!path!which!
the!user!wants!to!follow!must!be!stored!in!a!local!database!in!the!system!he!uses.!!This!entity!
contains!those!saved!routes.!
!
!
Appendix!B:!E/R!Diagram!
- 10. Architecture Diagram
!
Like!any!other!mobile!based!application,!the!architectural!design!of!our!app!can!be!broadly!
categorized!into!two!set!of!components!:!
1.! Client+side!application!and!its!components!!
2.! Support!Infrastructure!(Server+side)!and!services!
!
!
!
Appendix!C:!Architecture!Diagram !
!
ClimberzzAssist! essentially! has! a! rich! client! side! application! structured! with! multilayered!
components! i.e! Presentation! Layer,! Application/Business! Layer! and! Data! layer,! which! are!
responsible!for!different!aspects!of!the!application.!Additionally!there!is!a!support!infrastructure!
providing!backend!database!services!as!well!as!third!party!service!data!accessed!by!external!
APIs.!Various!components!are!described!in!more!detail!below.!
!
Presentation Layer
!
Presentation!layer!is!the!top!layer!of!client!application!which!is!used!by!end!user!for!interacting!
with!the!application,!so!it!is!responsible!for!clearly!defining!all!the!UI!elements!that!are!needed!
to!make!the!application!work!as!expected.!As!explained!in!detail!with!the!flow!diagram,!we!have!
various!UI!elements!like!Search!Box,!Lists!with!rich!information,!Sliders,!Navigational!buttons!
etc.!Additionally,!UI!presentation!logic!is!well!defined,!describing!what!elements!performs!which!
action!to!offer!best!user!experience!with!less!clutter!and!easy!to!understand!UI!flow.!As!this!app!
is!primarily!a!visual!app,!we!choose!to!go!with!a!simple!design!where!most!of!the!userspace!
shows!relevant!and!useful!information!in!a!visually!pleasing!manner!and!all!secondary!options!
and!functions!are!kept!hidden!or!subsided!and!only!visible!when!needed.!!
!
Application/ Business Layer
!
Application!or!business!layer!defines!all!major!functionalities!that!our!application!is!designed!to!
perform,!the!business!logic!behind!why!we!chose!to!include!all!these!functionalities!as!well!as!
various! use+cases! and! entities! for! the! application.! Our! app! is! primarily! a! crowdsourced! data!
analytics! app! which! statically! determines! all! the! best! routes! to! the! different! treks! using!
accumulated! data,! the! application! workflow! and! business! logic! revolves! around! how! to!
efficiently! store! and! retrieve! data! from! the! backend! and! intelligently! analyze! to! provide! best!
routes,!not!caring!about!the!real+time!latency!issue!at!first.!Additionally!the!primary!use+case!for!
the!application!is!providing!a!quick!and!efficient!way!for!the!mountaineers!to!look!for!the!best!
routes! to! their! next! trek! and! at! the! same! time,! developing! a! community+driven! platform! for!
sharing!experiences!and!vital!information.!!
- 11. !
Data Layer
!
This!is!the!lowest!layer!in!client!application!which!is!responsible!for!dealing!with!the!upload!and!
download!of!data.!In!this!application!,we!are!primarily!dealing!with!three!types!of!data!flow!within!
the!application.!Most!of!the!data!is!the!crowdsourced!data,!which!is!downloaded!by!the!user!and!
saved! under! ‘My! Saved! Routes’! to! have! the! information! ready! on! his! device! (stored! locally).!
Also,! there! is! data! flow! from! the! user’s! device! to! the! backend! when! he/she! uploads! custom!
routes! and! participate! in! crowdsourcing.! Finally! there! is! external! data! from! third! party!
applications!like!Google!Maps!and!imaging!services!like!Flickr!is!downloaded!by!the!app!using!
external!APIs.!!!!!!
!
Local DataStore
!
To!facilitate!offline!mode!of!operation,!client!device!maintains!a!local!database!where!it!stores!
all!the!pertinent!information!from!the!backend!crowdsourced!data!for!the!routes!saved!under!the!
user’s!‘My!Saved!Routes’.!Also!a!backup!is!maintained!at!the!user’s!personal!cloud!space!(or!
user’s!preference!like!google!drive,!dropbox!etc)!for!quick!access.!Also!the!latest/current!route!
is!also!saved!in!fast!access!cache!memory!when!the!user!starts!to!trek.!!
!
Support Infrastructure/ Services (BackEnd)
!
All! the! crowdsourced! data! is! uploaded! to! an! external! high+capacity! and! highly! available!
proprietary!database,!where!all!data!is!collected,!organized!,!analyzed!and!processed!for!quick!
access!and!ensures!that!user!always!gets!the!accurate!information.!Various!complex!access!
and! data! analytics! techniques! are! needed! to! be! used! for! this! purpose.! Additional! third! party!
application! and! services! are! connected! with! our! application! using! well! defined! APIs! to! get!
various!supplementary!information.!For!instance,!Google!Maps!and!Flickr!data!can!be!used!to!
support!our!application’s!navigation!and!media!needs.!!
!
Additional Services
!
Apart!from!all!core!functionalities,!some!common!functionalities!are!needed!to!be!employed.!For!
instance,!User!Authentication!and!personalization!services!is!added!to!the!application!to!make!
sure!all!user+specific!data!is!safe!and!easily!accessible!by!the!end+user!in!the!format!he/she!
desires.!Additionally!communication!and!connectivity!services!are!vital!in!some!scenarios.!For!
instance,!GPS!is!needed!during!active!trek!as!well!as!planning!phase!to!capture!user’s!location.!
One!click!access!to!emergency!call!functionality!is!desirable.!!!!!!!!