Considering the challenges faced by technical club coordinators of universities in hosting a coding contest in platforms like codechef & hackerrank we developed a flexible & ready to use contester system. The purpose is to facilitate easy organising of coding contest to train university students without going through a time-taking process.
- Discussion Portal
- Competitive programming contests
- Leaderboard (Rating System)
- Ranklist for each contest
- Admin portal to create contest & add questions
- Backend is developed using node.js and consist of 3 different microservices (discussion, contest & evaluator).
- RabbitMQ is used for communicating between microservices.
- Azure file storage & mongodb are used for data storage.
- Microservices are dockerized & were initially deployed on azure containers, but due to restrictions of student subscription we moved it to heroku.
- Handlebars is used for frontend development.
- Concurrency & multithreading support to handle large ammount of simultaenous submissions.
- Horizontal scalibility support.
- Support for time limit & memory limit on each submission.
- Student can only signup with institute provided email id, hence none can have multiple accounts.