Skip to content

spike1236/WnSOJ

Repository files navigation

WnSOJ - Work and Solve online judge!

WnSOJ is a platform where you can solve programming and math tasks, learn new algorithms and terms and find job. Platform includes testing system, problems categories, problems, editorials and solutions, submissions, job search, users and statistics.

Main Page

Getting Started

  1. Download a project. To download required components, write in command line:
pip install -r requirements.txt
  1. Install g++ compiler, Python, Isolate; Work and Solve Online Judge uses isolate's cgroups, check its manual for setup.
  1. Launch server:
python3 main.py
  1. Open Main page
  2. Enjoy project! 😎

About Project

Problems and submissions

Platform provides an extensive set of olympiad programming tasks. To submit solution you need to be signed in system. You can register or sign in into existing account and submit solutions to problems. System will automatically test your solution in isolated sandboxes provided by isolate and report verdict, max used time and max used memory.
Also, each problem has editorial and solution in C++ language.
Platform administrators can add new problems.

Jobs

In the platform you can also find or publish/edit/delete job. There are 2 types of accounts:

  1. Common account - these users can find job and communicate with employers by email or phone.
    Open job that you liked, read the description and if job suits you, communicate with employer by email or phone.
  2. Business account - these users or companies can publish, edit or delete jobs, also find and communicate by email or phone with other users.
    Publish job, edit it if it is need, and just wait until some qualified specialist will communicate with you by email or phone number.

Profile

In the profile, you can see user's username, email, phone number and statistics about problems: last 10 submissions and verdicts statistics.
Also you can change icon and password in your account page.

API

Also, platform is rich for API. In API you can request:

  • users list and user by id
  • jobs list and job by id
  • submissions list and submission by id
  • problems list and problem by id

API is located by url http://127.0.0.1:5000/api/v1

Examples:

Technologies

Following technologies and libraries were used to create this project:

Components (CSS and JS)

Following components were used to create this project:

Author

License

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
See LICENSE file for details.