Skip to content

Chen-Han-TX/GoRidey

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoRidey - A Ride Sharing Platform

GoRidey is an awesome platform for both Passengers and Riders to initiate, start and end a ride. The idea is very similar to Grab https://www.grab.com/sg/ or Gojek https://www.gojek.com/sg/ in Singapore.

Screenshot 2022-12-14 at 3 39 49 PM

Design Architecture

ETI Asg 1 Diagram_2022-12-14_03-34-29 Created using Mural

Microservice Design Considerations

1. Authentication Management

  • User Registration
  • User Login with credentials, assign JWT Token embeded in Cookie
  • User Logout

2. User Management

  • User Get Profile Data
  • User Update Profile Data
  • User Update Password

Screenshot 2022-12-14 at 3 41 17 PM

3. Ride Management

  • Ride Initialization by Passenger
  • Get All Pending Ride Requests for Rider
  • Ride Acception by Rider
  • Ride Cancellation by Passenger for Pending Rides and Rider for On-going Rides
  • Ride Completion by Rider upon reaching the destination
  • Get All Ride Histories and Display in reverse choronological order

What are the Development Tools & Methods Used?

GoRidey is developed using the following tools:

How to Use?

Pre-requisites:

Let's Dive into Actions!

  1. Clone https://github.com/Chen-Han-NP/ride-sharing-platform.git into your new working repository.
  2. Open your MySQL Workbench, make sure the server credentials are as followed: user is root, password is password and database server port number is 3306, as the connection string in Golang server are set to "root:password@tcp(127.0.0.1:3306)/" in default.
  3. MySQL script is located at: RIDE-SHARING-PLATFORM/MySQL/RideSharingDBSetup.sql, please find and run the script to set up a database with two default Users and two default completed Rides.
  4. To set up the Microservices, please run the following commands:
  • cd Microservices/Authentication
  • go run auth.go
  • cd Microservices/User
  • go run user.go
  • cd Microservices/Ride
  • go run ride.go
  • Ports 5050, 5051, 5052 are used for these three Microservices.
  1. To start the front-end website, in your Terminal/Command Prompt, run:
  • npm run start to start the development mode for the React and the website is hosted on:
  • http://localhost:3000.
  1. It should automatically opens up your default browser, next, set up the Cors Middleware
    Download: Moesif Orgin & CORS Changer
    Under Advanced Settings:
  • Change the Allow-Control-Allow-Origin as where the React website is hosted.
  • Change the Set-Control-Allow-Credentials to true

Screenshot 2022-12-15 at 12 54 38 PM

  1. You're now free to explore!

Deployment

Credits

About

ETI Assignment 1 - Cloud Native Application

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors