Skip to content

acm-fsc/fleet-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fleet Core

Background

Fleet is a fictional ride sharing startup based in Silicon Valley. The company's goal is to provide a very convenient means of transportation for people across the nation. To ensure that the company stays competitive, Fleet has hired a "fleet" of talented engineers to build out their core system. You are fortunate to be one of those engineers and are ready to take on the tasks that lie ahead.

Project Structure

The project contains 4 apis that are written in different languages but share the same file structure. Each api has a Location, Driver, Trip and Dispatch class.

Location => A point in the geographic coordinate system

Driver => A person driving passengers

Trip => A ride requested by a user

Dispatch => A unit that assigns a driver to a requested trip

Your Tasks

Each class comes with methods and member variables that have already been written but what you will find is that there are a few methods that you will have to implement. These methods have been commented as 'TODO' and hold information about what the inputs are and the value it should return. Fleet has high standards for the code that is put into production so make sure the changes you make are non-breaking and well-tested.

Getting Started

After you've gotten familiar with this repo, it's time to start developing! Here are the steps you need to take to contribute to the project:

  1. Fork the repo if you haven't already
  2. Clone your fork locally
  3. Create & push a new branch
  4. Create a Pull Request

For more information on how you can get started on this project, you can view the Contribution doc

Bonus

Here are some bonus items you can tackle when you are finished with the other tasks:

  1. Write a method that returns the ETA of a trip
  2. Refactor the Trip class so that it supports multiple stops
  3. Create a technical doc that highlights some ways that the system can be optimized