Skip to content
@Go-Ride-Share

Go-Ride-Share

Go Ride Share

Endpoint Documentation

  • Each set of endpoints has its own Endpoints.yaml file describing endpoints
  • The "Swagger Viewer" extension on VScode is an easy way to render these documents

Architecture Diagrams

image

How to run locally in a container (Developer Guide)

DB Layer, Logic Layer, React Front End and the Database instances (containerized)

  • Download the docker-compose.yml file and .env file place it in the project root directory (the directory that contains all four layers)
  • In .env add following to connect to the local database instances running locally in the container:
   DB_CONNECTION_STRING="Server=mysql;Port=3306;Database=go-ride-share;UserID=testadmin;Password=SoftEng2db;"
   MONGODB_ATLAS_URI="mongodb://testadmin:SoftEng2db@mongodb:27017/go_ride_share_db?authSource=admin"
  • Open the project root directory in terminal and run docker-compose up --build --force-recreate --remove-orphans. This will start all three functions apps in both the Db Layer, Logic Layer and the React Front End.
  • To access the React Front End head to the http://localhost:3000.

Flutter Front End

  • WIP, follow the non-contrainerized instruction for now

How to run locally, non-containerized (Developer Guide)

DB Layer

Warning

Non containerized method is deprecated for DB layer. Please use containerized steps to run this locally.

  • NOTE: You need to install Azure Functions Core Tools v4
    • This can be done on mac using the following brew commands:
      brew tap azure/functions
      brew install azure-functions-core-tools@4
      
    • Or on windows using Azure Tools. Installation might need system restart.
  • Modify sample.local.settings.json to be local.settings.json in db-layer/DbAccessor and update the values to the following:
"DB_CONNECTION_STRING": "Server=\"test-data.mysql.database.azure.com\"; port=\"3306\";UserID=\"testadmin\";Password=\"Dbsofteng2\";Database=\"go-ride-share\";"
  • In terminal navigate to db-layer/DbAccessor/ then run func start -p 7073

Logic Layer 1 (AccountManager)

Warning

Non containerized method is deprecated for AccountManager. Please use containerized steps to run this locally.

  • Open logic-layer repo and navigate to AccountManager directory.
  • Rename file sample.local.settings.json to local.settings.json
  • In terminal, navigate to directory logic-layer/AccountManager/ then run func start -p 7071

Logic Layer 2 (Logic)

Warning

Non containerized method is deprecated for Logic layer. Please use containerized steps to run this locally.

  • Open logic-layer repo, in terminal navigate to logic-layer/Logic/ then run func start -p 7072

React Front End

  • run npm install to install all dependancies
  • In .env add:
   REACT_APP_API_AUTH_URL=http://localhost:7071/api
   REACT_APP_API_BASE_URL=http://localhost:7072/api
  • npm start
  • The website will open in your browser

Flutter Front End (Android Mobile App)

  • Requirement: Ensure you have launched an Android emulator or connected a physical device

    • Option 1: Start the emulator from command line (see installation instructions)

      You can run flutter emulators to see a list of available emulators, then run flutter emulators --launch <emulator_name> to start an emulator.

      OR, neat VSCode trick: CTRL+SHIFT+P, type "Select Devices" and select the emulator you want to launch.

    • Option 2: Launch Android studio and use its existing emulator.

      In device manager, click green "Play" button to start an emulator (tip: if this doesn’t work, try cold booting).

      If you do not have Android studio installed, see installation instructions.

  • Install Flutter on your machine

  • Open the repo, uncomment the following lines in mobile-client/lib/constants.dart to run the app locally. Be sure to comment out the same variables below in the file to prevent errors:

   // UNCOMMENT THE FOLLOWING 2 LINES TO USE LOCALHOST
   static const String API_AUTH_URL = "http://localhost:7071/api";
   static const String API_BASE_URL = "http://localhost:7072/api";
  • Then navigate to root directory mobile-client and run flutter run

Authentication Flow

This diagram explains how the system handles user authentication, and how access to the logic and database is given to the user. image

Sequence Diagrams

image image image image image image

Pinned Loading

  1. web-client web-client Public

    JavaScript

  2. logic-layer logic-layer Public

    C#

  3. db-layer db-layer Public

    C#

  4. mobile-client mobile-client Public

    Dart

Repositories

Showing 5 of 5 repositories
  • db-layer Public
    Go-Ride-Share/db-layer’s past year of commit activity
    C# 0 0 9 1 Updated Nov 11, 2024
  • Go-Ride-Share/web-client’s past year of commit activity
    JavaScript 0 MIT 0 7 1 Updated Nov 10, 2024
  • .github Public
    Go-Ride-Share/.github’s past year of commit activity
    0 0 8 1 Updated Nov 7, 2024
  • Go-Ride-Share/mobile-client’s past year of commit activity
    Dart 0 0 8 1 Updated Nov 7, 2024
  • Go-Ride-Share/logic-layer’s past year of commit activity
    C# 0 0 8 1 Updated Nov 5, 2024

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…