Skip to content

Akshayvs/Movie-theater-seating-optimizer

Repository files navigation

Prerequisite Setup:
---------------------
1. Have Node and NPM installed to the latest versions.
2. Nanvigate to the root directory and hit ` ls -la ` in mac to get a list of file here.
    There should be a file named 'package.json'
3. Type `npm install` and let all the modules be dowloaded and set in the project root directory under Node_modules folder.

-ALL SET :)

feel free to reach back to [email protected] or 571 409-9543 in case of any difficulties.

Execution Steps:
-----------------
1. Reach the root directory of the project ie  { ./traversal } via terminal/ command prompt
2. Start the execution of the application by executing the fileReader.js file along with the absolute path to the input file.
        eg :  '   node fileReader.js /Users/asonawane/WebstormProjects/traversal/data.txt '

3. The file will run successfully if the input file is in the expected format; else will throw error.
4. at the end, we will receive a path to the output file.

To run Unit Tests-
1. Go to the root project directory.
2. Type : ' npm run unit-test  '

To run Code Coverage Report (a graphical representation of the code coverage generated by the tests)
1. Go to the root project directory.
2. Type : ' npm run coverage '


ASSUMPTIONS:
------------
1. The input file will have requests in a sequential order  ie R1,R2,R3,....Rn and not  R1, R3 , R7,R3
2. Any unexpected value in the in the requested file will result in error being Thrown.

How to maximize customer satisfaction ?
1.SITTING NEXT TO EACH OTHER = HIGHEST PRIORITY
2.Sitting at the farthest available row from the screen= Second highest priority.

How to Maximize theater utilization ?
To maximize theater utilization, we should start alloting seats from the last row, all the way towards the first row.
This way, we will get consecutive blocks of empty seats to accomodate large groups of people thereby maintaining their customer satisfaction criteria.

Releases

No releases published

Packages

No packages published