QCONTEST
QContest Platform Application allows users to create and participate in contests.
Features
- Create a contest
- Participate in a contest
- Create a question
- List all questions
- List all contests
- Attend a contest
- List all contestants
- Withdraw from a contest
- List all the participants of a contest
- Leaderboard
Pre-requisites
- Java 1.8/1.11/1.15
- Gradle 6
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.
./gradlew run -q --args="INPUT_FILE=sample_input/input1.txt"
- This will compile all the .java files in thesrc
directory and execute the Main - Class as specified below in build.gradle
application {
// Define the main class for the application.
mainClass = 'com.example.App'
}
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.
or another alternative
Internally both the scripts run the following commands
./gradlew clean build -x test --no-daemon
- This will create a jar fileexample.jar
in thebuild/libs
folder.java -jar build/libs/example.jar sample_input/input1.txt
- This will execute the jar file passing in the sample input file as the command line argument
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.
Use the build.gradle file provided along with this project. Please change the main class entry under the jar
task
manifest {
attributes 'Main-Class' : 'com.example.App' //Change this to the main class of your program which will be executed
}
in the build.gradle if your main class has changed.
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 ./gradlew run -q --args="INPUT_FILE=sample_input/input1.txt"
with ./gradlew run -q --args="INPUT_FILE=sample_input/input2.txt"
to run the test case from the second file.
or another alternative
Please fill input1.txt
and input2.txt
with the input commands and use those files in run.bat
or run.sh
. Replace java -jar build/libs/example.jar INPUT_FILE=sample_input/input1.txt
with java -jar build/libs/example.jar INPUT_FILE=sample_input/input2.txt
to run the test case from the second file.
How to execute the unit tests
./gradlew clean test --no-daemon
will execute the unit test cases.