This is the official repository for H::Judge.
Note:
- The official site of H-Judge has been closed since there're almost no active users, for keeping running the website will lead to unnecessary cost.
- I currently don't have enough time to continue developing new features for this Online Judge System, but PRs are always welcomed.
A cross-platform, full-featured and fast online judge system.
- Problem management
- Contest management
- Group management
- Rank and statistics
- Messaging and notifications
- System console
- Support for special judge
- Cross platform
- And more...
master | develop |
---|---|
- hjudge.WebHost:
The web host for H::Judge using .NET Core.
- hjudge.JudgeHost:
The judge host for H::Judge using .NET Core.
- hjudge.FileHost:
The file host for H::Judge using .NET Core.
- hjudge.Shared:
The shared components used by other projects.
- hjudge.Core:
The core module of H::Judge containing all the necessary configurations and methods for judging a submission.
- hjudge.Exec.Windows:
A module on Microsoft Windows operating system used to run a program and measure time, memory consuming and execution status of the process being created.
- hjudge.Exec.Linux:
A module on Linux operating system used to run a program and measure time, memory consuming and execution status of the process being created.
- Set environment variable 'DOTNET_ENVIRONMENT' to 'Development'
- Setting your connection string to a PostgreSQL Database in ./hjudge.WebHost/src/appsettings.json (or appsettings.Development.json for development environment)
- Migrate and update database
cd hjudge.WebHost/src dotnet ef database update cd ../../hjudge.FileHost/src dotnet ef database update
- Run hjudge.JudgeHost (can be skipped if you don't use solution submission in Web)
cd hjudge.JudgeHost/src dotnet run
- Run seaweedfs server (can be skipped if you don't use solution submission in Web)
weed server
- Run hjudge.FileHost (can be skipped if you don't use solution submission in Web)
cd hjudge.FileHost/src dotnet run
- Run frontend dev-server
cd hjudge.WebHost/src/Frontend yarn start
- Run hjudge.WebHost
cd hjudge.WebHost/src dotnet run
- Run your favourite broswer and nagivate to
http://localhost:5000
fake run build.fsx -t Build
- Copy the hjudge.Exec.Linux/hjudge.Exec.Windows output library file generated in step 1 to the hjudge.JudgeHost output folder.
fake run build.fsx -t Test