- This microservice is a part of the Codestars (Online Judge Project).
-
Microservices:
-
Frontend:
- TypeScript
- Node.js
- Express
- Redis (BullMQ)
- Docker
-
The functioning of this microservice is solely based on evaluating the problem submission forwarded by the submission service and giving a verdict on it.
-
A Redis queue is integrated using BullMQ that stores the problem submissions given by the submission service, this service picks the jobs from the queue and evaluates them.
-
This service picks up the submission job from the queue, detects the programming language of the submission and accordingly spins up a Docker Container to run the program.
-
If the problem is executed, string matching between the Container Output and TestCases happen and verdict is given else if problem is not executed then associated error is given.
- [NOTE] Currently 3 language submissions are supported at the Backend namely C++, Java and Python.
- Clone the repository locally:
git clone https://github.com/SCube27/CodeStars_Evaluator_Service.git
- Install the dependencies:
npm install
-
Setup a
.env
file according to thetemplate.env
given. -
Start the Server:
npm run dev
If the project interests you a star to the repository and other associated repositories would be appreciated.