This repository contains a some object oriented programming & system designs solutions for a few famous design problems implemented mostly for kicks and learning. Hopefully might help someone in need! Feel free to fork, copy, suggest corrections or ask questions. Happy designing :)
Given below is a list of design problems implemented in this repository.
Movie Theater Seating project allocates seats in a movie theater to incoming requests in an efficient way which maximizes theater profit as well as gives closely located seats made in a single request. To efficiently allocate seats for maximizing profit for the movie theater, as well as to give customers closely located seats, we use a clustered seat allocation algorithm. In the current support it is capable of taking seat reservation request input from a file and writes the seat reservation details to an output file. However the design is flexible to take inputs and dispatch outputs to any source with code extension.
Lift project is an implementation of a lift operating system that fullfils end users request by assigning a lift from a lift pool. For an efficient lift scheduling, we use in minimum in-path distance lift allocation algorithm that tries to minimze the distance of a lift car from the request origination floor. In the current support it is capable of taking lift floor call requests input from a file and writing the lift allocation details to an output file. However the design is flexible to take inputs and dispatch outputs to any source with code extension.
System design approach explains a basic appproach that should be followed while solving any architectural or system level design questions. Questions like design Monitoring or Search & Recommendation Systems and products like AWS, Netflix, Uber etc. fall into these categories. The aim here is to create an efficient yet generic enough approach that can be applied to a variety of architectural & high level design problems.