Coder Social home page Coder Social logo

cab-management-tdd's Introduction

Problem Statement

Build intercity cab booking system, to be used as admin and booking tool.

  1. Register cabs.
  2. Onboard various cities where cab services are provided.
  3. Change current city (location) of any cab.
  4. Change state of any cab. For this you will have to define a state machine for the cab ex: a cab must have at least these two basic states; IDLE and ON_TRIP
  5. Book cabs based on their availability at a certain location. In case more than one cab are available , use the following strategy; a. Find out which cab has remained idle the most and assign it. b. In case of clash above, randomly assign any cab

Assumption : a cab once assigned a trip cannot cancel/reject it

Other Details:

Input: a snapshot of all cabs with their metadata and location a List of <Cab_Id, Cab_State, City_Id> In case the Cab_State is ON_TRIP, the City_Id will be indeterminate

Bonus:

a. Provide insights such as for how much time was a cab idle in a given duration ? b. Keep a record of the cab history of each cab. (A cab history could just be a record of what all states a cab has gone through) c. Find cities where the demand for cabs is high and the time when the demand is highest

cab-management-tdd's People

Contributors

virajbz avatar

Watchers

Viraj Bhosle avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.