Skip to content

Source Code Documentation

GD-Dheer edited this page Apr 19, 2020 · 17 revisions

The application has the following structure:

Home Component

  • The main view, contains all the other components listed below.

    Menu Component

    • The sidebar containing app settings and options

    SubMenu - Calendar Component

    • The functionality allows for syncing your google calendar with the application

    SubMenu - Accessibility Component

    • The allows you to turn on and off the accessibility feature of the application

    SubMenu - ShuttleInfo Component

    • A module containing Concordia shuttle information and shuttle directions between campuses

    SubMenu - Help Component

    • Displays information on how to use the application

    Map Component

    • The map view powered by the Google Maps API. Also contains the Language component

    SearchBar Component

    • Contextual Search bar used to search for points of interest on the map and accessing Menu

    Campus Toggle Component

    • A toggle switch which allows the user to quickly switch map view from Loyola to SGW campus and vice-versa

    Directions Component

    • Contains the functionality for showing correct directions to the user

    Location Component

    • A component which detects which building on campus that the user is currently located at, based on their device's current location

    Building Component

    • A component that is responsible for handling navigation and UI of the indoor mode of the application

Our Final Project File Structure

.
├── App.js
├── CONTRIBUTING.md
├── README.md
├── app.json
├── assets
│   ├── floorplans_with-details
│   │   ├── H9.png
│   │   ├── Vanier\ Library\ -\ 1st\ floor.pdf
│   │   └── Vanier\ Library\ -\ 2nd\ floor.pdf
│   ├── icons
│   │   ├── bike.png
│   │   ├── building.png
│   │   ├── burger.png
│   │   ├── bus.png
│   │   ├── car.png
│   │   ├── conpass.png
│   │   ├── currentLocation.png
│   │   ├── destination.png
│   │   ├── directions.png
│   │   ├── downarrow.png
│   │   ├── icon.png
│   │   ├── info.png
│   │   ├── locate-me.png
│   │   ├── oldConpass.png
│   │   ├── quit.png
│   │   ├── splash.png
│   │   ├── splashScreen.png
│   │   ├── timeHortons.jpg
│   │   └── walk.png
│   ├── polygons
│   │   ├── images
│   │   │   ├── CjCafe.jpg
│   │   │   ├── GreyNuns.jpg
│   │   │   ├── HBuilding.jpg
│   │   │   ├── HingstonCafe.jpg
│   │   │   ├── LbCafe.jpeg
│   │   │   ├── TimHortons.jpg
│   │   │   ├── adBuilding.jpg
│   │   │   ├── bBuilding.png
│   │   │   ├── bhBuilding.jpg
│   │   │   ├── centralBuilding.jpg
│   │   │   ├── ciBuilding.png
│   │   │   ├── cjBuilding.jpg
│   │   │   ├── clBuilding.png
│   │   │   ├── dBuilding.jpg
│   │   │   ├── enBuilding.png
│   │   │   ├── erBuilding.jpg
│   │   │   ├── ev-building.jpg
│   │   │   ├── faBuilding.jpg
│   │   │   ├── fbBuilding.jpg
│   │   │   ├── fcBuilding.jpg
│   │   │   ├── fgBuilding.jpg
│   │   │   ├── geBuilding.jpg
│   │   │   ├── gmBuilding.jpg
│   │   │   ├── greyNunsDine.jpg
│   │   │   ├── gsBuilding.jpg
│   │   │   ├── hallCafe.jpg
│   │   │   ├── hbBuilding.jpg
│   │   │   ├── hiveCafe.jpg
│   │   │   ├── huBuilding.jpg
│   │   │   ├── jrBuilding.jpg
│   │   │   ├── lbBuilding.jpg
│   │   │   ├── ldBuilding.png
│   │   │   ├── mBuilding.jpg
│   │   │   ├── mbBuilding.jpg
│   │   │   ├── miBuilding.png
│   │   │   ├── muBuilding.png
│   │   │   ├── pcBuilding.jpeg
│   │   │   ├── psBuilding.jpg
│   │   │   ├── pyBuilding.jpg
│   │   │   ├── rBuilding.png
│   │   │   ├── raBuilding.jpg
│   │   │   ├── sBuilding.png
│   │   │   ├── sbBuilding.png
│   │   │   ├── spBuilding.jpg
│   │   │   ├── starbucks.jpg
│   │   │   ├── tBuilding.png
│   │   │   ├── taBuilding.jpg
│   │   │   ├── tdBuilding.jpg
│   │   │   ├── vBuilding.png
│   │   │   ├── vaBuilding.jpg
│   │   │   ├── vlBuilding.png
│   │   │   └── xBuilding.png
│   │   └── polygons.js
│   └── svg
│       ├── hall-8.svg
│       ├── hall-9.svg
│       ├── vl-1.svg
│       └── vl-2.svg
├── babel.config.js
├── components
│   ├── buildingInfoModal
│   │   ├── index.js
│   │   └── styles.js
│   ├── buildings
│   │   ├── buildingView
│   │   │   ├── buildingWithFloors
│   │   │   │   ├── index.js
│   │   │   │   └── styles.js
│   │   │   ├── index.js
│   │   │   └── styles.js
│   │   └── floorPlans
│   │       ├── H
│   │       │   ├── Hall1.js
│   │       │   ├── Hall10.js
│   │       │   ├── Hall11.js
│   │       │   ├── Hall12.js
│   │       │   ├── Hall13.js
│   │       │   ├── Hall2.js
│   │       │   ├── Hall3.js
│   │       │   ├── Hall4.js
│   │       │   ├── Hall5.js
│   │       │   ├── Hall6.js
│   │       │   ├── Hall7.js
│   │       │   ├── Hall8.js
│   │       │   └── Hall9.js
│   │       ├── VL
│   │       │   ├── Vl1.js
│   │       │   └── Vl2.js
│   │       ├── floorPlanRepository.js
│   │       └── index.js
│   ├── campusToggle
│   │   ├── index.js
│   │   └── styles.js
│   ├── directions
│   │   ├── backButton
│   │   │   ├── index.js
│   │   │   └── styles.js
│   │   ├── currentLocation
│   │   │   ├── index.js
│   │   │   └── styles.js
│   │   ├── destination
│   │   │   ├── index.js
│   │   │   └── styles.js
│   │   ├── destinationSearchBar
│   │   │   ├── index.js
│   │   │   └── styles.js
│   │   ├── indoorDestinationSearchBar
│   │   │   ├── index.js
│   │   │   └── styles.js
│   │   ├── indoorDirections
│   │   │   ├── index.js
│   │   │   └── styles.js
│   │   ├── indoorMapSearchBar
│   │   │   ├── index.js
│   │   │   └── styles.js
│   │   └── outdoorDirections
│   │       ├── bike
│   │       │   ├── index.js
│   │       │   └── styles.js
│   │       ├── bus
│   │       │   ├── index.js
│   │       │   └── styles.js
│   │       ├── car
│   │       │   ├── index.js
│   │       │   └── styles.js
│   │       ├── index.js
│   │       ├── shuttleInformation
│   │       │   ├── index.js
│   │       │   ├── shuttleLocationService.js
│   │       │   └── styles.js
│   │       ├── styles.js
│   │       └── walking
│   │           ├── index.js
│   │           └── styles.js
│   ├── home
│   │   ├── generateIndoorPredictionsForSearchBar.js
│   │   ├── index.js
│   │   └── styles.js
│   ├── location
│   │   ├── LocationServices.js
│   │   ├── index.js
│   │   └── styles.js
│   ├── map
│   │   ├── customPolygon
│   │   │   └── index.js
│   │   ├── index.js
│   │   └── styles.js
│   ├── mapSearchBar
│   │   ├── index.js
│   │   └── styles.js
│   ├── menu
│   │   ├── calendar
│   │   │   ├── Screens
│   │   │   │   ├── DashboardScreen
│   │   │   │   │   ├── index.js
│   │   │   │   │   └── styles.js
│   │   │   │   ├── FetchScreen
│   │   │   │   │   ├── CheckboxGroup.js
│   │   │   │   │   ├── index.js
│   │   │   │   │   └── styles.js
│   │   │   │   ├── LoadingScreen
│   │   │   │   │   ├── index.js
│   │   │   │   │   └── styles.js
│   │   │   │   └── LoginScreen
│   │   │   │       ├── button.png
│   │   │   │       ├── index.js
│   │   │   │       └── styles.js
│   │   │   └── index.js
│   │   ├── help
│   │   │   ├── helpInformation.js
│   │   │   ├── helpPage
│   │   │   │   ├── index.js
│   │   │   │   └── styles.js
│   │   │   └── helpTemplate
│   │   │       ├── index.js
│   │   │       └── styles.js
│   │   ├── index.js
│   │   ├── shuttleBusSchedule
│   │   │   ├── index.js
│   │   │   ├── shuttleScheduleService.js
│   │   │   └── styles.js
│   │   └── styles.js
│   └── pathPolyline
│       ├── index.js
│       └── styles.js
├── firebase.config.js
├── indoor_directions_modules
│   ├── buildings
│   │   ├── H
│   │   │   ├── Hall10FloorPlanCoordinates.js
│   │   │   ├── Hall11FloorPlanCoordinates.js
│   │   │   ├── Hall12FloorPlanCoordinates.js
│   │   │   ├── Hall13FloorPlanCoordinates.js
│   │   │   ├── Hall1FloorPlanCoordinates.js
│   │   │   ├── Hall2FloorPlanCoordinates.js
│   │   │   ├── Hall3FloorPlanCoordinates.js
│   │   │   ├── Hall4FloorPlanCoordinates.js
│   │   │   ├── Hall5FloorPlanCoordinates.js
│   │   │   ├── Hall6FloorPlanCoordinates.js
│   │   │   ├── Hall7FloorPlanCoordinates.js
│   │   │   ├── Hall8FloorPlanCoordinates.js
│   │   │   ├── Hall9FloorPlanCoordinates.js
│   │   │   └── HallBuildingRooms.js
│   │   └── VL
│   │       ├── VLBuildingRooms.js
│   │       ├── Vl1FloorPlanCoordinates.js
│   │       └── Vl2FloorPlanCoordinates.js
│   ├── dijkstraPathfinder.js
│   ├── distanceBetweenTwoNodes.js
│   ├── fetchBuildingRooms.js
│   ├── floorWaypointFinder.js
│   ├── graphRepository.js
│   └── scripts
│       ├── SvgTextUpdateScript.py
│       └── floorMapSvgParserScript.js
├── jest.config.js
├── localization-context.js
├── metro.config.js
├── node_modules
├── package.json
├── setup-tests.js
├── store
│   ├── actionTypes.js
│   ├── actions.js
│   ├── constants.js
│   └── index.js
├── tests
│   ├── buildingView.test.js
│   ├── buildingWithFloors.test.js
│   ├── calendar.test.js
│   ├── campusToggle.test.js
│   ├── customPolygon.test.js
│   ├── destinationSearchBar.test.js
│   ├── fetchBuildingRooms.test.js
│   ├── fetchScreen.test.js
│   ├── generateFloorPlan.test.js
│   ├── helpPage.test.js
│   ├── indoorDirections.test.js
│   ├── indoorShortestPath.test.js
│   ├── location.test.js
│   ├── loginScreen.test.js
│   ├── mapSearchBar.test.js
│   ├── outdoorDirections.test.js
│   ├── reduxActions.test.js
│   ├── shuttleSchedule.test.js
│   ├── syncMultipleCalendars.test.js
│   └── theMap.test.js
├── web-build
│   └── register-service-worker.js
└── yarn.lock