Faux-flix is a project mainly written in Java, based on the BSD-3-Clause license.
A Netflix-like fulfillment simulator written as a code challenge for a prospective employer. It now serves as a playpen for design and implementation experimentation.
The "DVD Center" (referred to as store) is an on-line service that offers DVD movie rentals to its customers. These rentals are requested on-line and then mailed to the customer when available. The customer returns video rentals by mail to the store and may subsequently request additional movies. The following are the assumptions for the simulation:
Customers can rent up to two videos (standard or blu-ray) at a time. If a customer exceeds this rental limit, a "customer exceeded" notice should be displayed and the requested movie queued for delivery until the customer returns a video. Likewise, if a video is out of stock (see inventory below), a "video not in stock" notice should be displayed and the request should be queued for delivery when another customer returns a copy.
The term "queued for delivery" simply means that a customer request will be stored and processed as soon as the video is available.
Payment is not a part of this simulation. It is assumed that customers already pay a monthly subscription fee and pay no additional fee to rent a video.
Movie rentals can be either standard or Blu-Ray type DVDs. The DVD Center store is limited to two copies of each video.
The store mails DVDs to customers and customers mail them back. Mailing DVDs takes one day to mail a DVD. So, if a customer mails back a video on January 2, it will be returned to movie stock the following day (January 3).
faux-flix is licensed under the BSD license.
faux-flix requires a Java Runtime Environment (JRE) version 1.5 or higher. While it has only been tested under Mac OS X 10.5, it should function properly under Linux and Windows based operating systems.
The simulator is executed as follows:
java -ea -jar faux-flix-1.0.0.jar [data set directory]
The data set directory must contain the following files:
The following datasets are provided with the distribution in the data directory: