omogenjudge

module
v0.0.0-...-1388524 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2020 License: MIT

README

OmogenJudge

OmogenJudge is a judging system for programming contests.

It consists of a sandbox to (more) safely execute untrusted code, a judging server to evaluate solutions on problems, and a web frontend server to provide a user interface.

The documentation for the system is in the docs folder.

A public instance of the server is hosted at kodsport.dev.

Directories

Path Synopsis
admin
addcontest
Package main contains a binary for installing contests.
Package main contains a binary for installing contests.
addproblem
Package main contains a binary for installing contests.
Package main contains a binary for installing contests.
filehandler
frontend
middleware
Package middleware contains middleware that can be added to request processing.
Package middleware contains middleware that can be added to request processing.
paths
Package paths is used to give static typing to paths served by the application.
Package paths is used to give static typing to paths served by the application.
server
Package main contains the main frontend service request processing routines.
Package main contains the main frontend service request processing routines.
users
Handler for logging in a user Handler for logging out a user
Handler for logging in a user Handler for logging out a user
localjudge
masterjudge
queue
Package queue provides an evaluator queue that keeps track of all unjudged submission runs, including new ones.
Package queue provides an evaluator queue that keeps track of all unjudged submission runs, including new ones.
problemtools
runner
client
Package client provides an RPC client to the RunService service.
Package client provides an RPC client to the RunService service.
compilers
Package compilers provides utilities for compiling programs.
Package compilers provides utilities for compiling programs.
diff
Package diff implements a structural, non-exact diff of two strings.
Package diff implements a structural, non-exact diff of two strings.
language
Package language contains definitions of all the languages that the judge supports.
Package language contains definitions of all the languages that the judge supports.
runners
Package runners is used to execute programs using the sandbox ExecService, providing a higher-level abstraction.
Package runners is used to execute programs using the sandbox ExecService, providing a higher-level abstraction.
sandbox
client
Package client provides an RPC client to the ExecService service.
Package client provides an RPC client to the ExecService service.
storage
contests
contests contains database storage actions for contests.
contests contains database storage actions for contests.
db
db contains database-related utilities for Postgres.
db contains database-related utilities for Postgres.
files
files contains database actions relating to stored files.
files contains database actions relating to stored files.
models
models contains the domain models of the judging system; problems, users, contests, submissions and so on.
models contains the domain models of the judging system; problems, users, contests, submissions and so on.
problems
problems contains database storage actions for problems and test data.
problems contains database storage actions for problems and test data.
submissions
submissions contains database storage actions for submissions and submission runs.
submissions contains database storage actions for submissions and submission runs.
users
users contains database storage actions for user accounts.
users contains database storage actions for user accounts.
util
go/cli
Package cli contains command-line interface utilities.
Package cli contains command-line interface utilities.
go/commands
Package commands contains utilities to handle executing commands.
Package commands contains utilities to handle executing commands.
go/files
Package files contains utilities to handle file IO in a controlled way.
Package files contains utilities to handle file IO in a controlled way.
go/filestore
Package filestore handles storing and reading arbitrary binary files.
Package filestore handles storing and reading arbitrary binary files.
go/strings
Package strings contains string-related utilities.
Package strings contains string-related utilities.
go/users
Package users contains utilities for OS-level user and group management.
Package users contains utilities for OS-level user and group management.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL