/geektrust-course-scheduling

The head of the Learning management system (LMS) has hired you as a consultant. The LMS team has the goal of upskilling the employees with the latest topics via courses. You need to help build a system to schedule and manage the courses.

Primary LanguageJavaScriptMIT LicenseMIT

Pre-requisites

  • NodeJS 12.6.0/14.15.4/16.10.0
  • npm

How to run the code

We have provided scripts to execute the code.

Use run.sh if you are Linux/Unix/macOS Operating systems and run.bat if you are on Windows. Both the files run the commands silently and prints only output from the input file sample_input/input1.txt. You are supposed to add the input commands in the file from the appropriate problem statement.

Internally both the scripts run the following commands

  • npm ci --silent - This will build the solution downloading the necessary dependencies.
  • Once the npm install from the previous build process is complete, we will execute the program using the command

npm start --silent sample_input/input1.txt

We expect your program to take the location to the text file as parameter. Input needs to be read from a text file, and output should be printed to the console. The text file will contain only commands in the format prescribed by the respective problem.

This main file, main.go should receive in the command line argument and parse the file passed in. Once the file is parsed and the application processes the commands, it should only print the output.

Running the code for multiple test cases

Please fill input1.txt and input2.txt with the input commands and use those files in run.bat or run.sh. Replace ./geektrust sample_input/input1.txt with ./geektrust sample_input/input2.txt to run the test case from the second file.

How to execute the unit tests

Mocha based test cases are executed with the following command from the root folder mocha test

Jest based test cases are executed with the following command from the root folder jest

Typescript

Your main file should be named as geektrust.ts.

As of now we only support Typescript under the NPM build system. This will require you to compile your typescript program into javascript.

We run the commands npm install --silent, npm start --silent and npm test --silent.

Please ensure that the npm install commands creates the file geektrust.js from your geektrust.ts file. The npm start command should then execute this geektrust.js file.

In your package.json file make sure you have an entry for the install, start and test script.

  • The install command should install the dependencies and also build the geektrust.js file.
  • The start command will execute the program.
  • The test command should execute all the unit tests present
"scripts": {
    "install" :"<command to create your geektrust.js file>",
    "start": "node geektrust.js",
    "test": "mocha"
}

Note: If you create the geektrust.js file in some other folder (like dist/, build/ or out/)other than the main folder, then please appropriately edit the start command.

Help

You can refer our help documents here You can read build instructions here