Kagoj is an online judge platform specialized to host lab test and evaluation of CSE, BUET. Automated code compilation, validation and evaluation is aimed to provide efficiency to both the teachers and students.
PS: for initial version of the project please refer to Kagoj-Old
KagOJ has an code editor where students can directly code into and test their code.
Code compilation and execution is done in a sandboxed environment to ensure safety of host machine. Currently it only supports C and C++ as the supported language. And the verdicts supported are Accepted
, Wrong Answer
, Time Limit Exceeded
, Memory Limit Exceeded
, Runtime Error
and Compilation Error
.
The system grades the submission based on the number of test cases passed. The evalutors can also alternate the marking based on their preferences.
Teachers can create courses and add students to those courses. Teachers can also add problems to the courses for exam or for practice
Teachers can add new problems and add test cases for them. The test cases can be marked as sample or hidden for evaluation.
Teachers can create a exam under a course with deadline. The students can edit, submit and see the verdict of their code untill that deadline. After that no one can modify or resubmit any solution.
At first clone this repository by
git clone https://github.com/TamimEhsan/KagOJ.git
The backend only runs in linux environment. So either open with ubuntu, or if you are in windows use wsl
Then go into Kagoj/Kagoj Backend
create a .env
file. And populate with the followings
PORT=3005
DATABASE_URL=DATABASE_URL
DATABASE_URL_LOCAL=DATABASE_URL_LOCAL
JWT_SECRET=JWT_SECRET
OS_PASS=OS_PASS
and install dependencies and then start node server
npm i
npm run dev
Then go into Kagoj/Kagoj Frontend
and install dependencies and then start node server.
npm i --force
npm start