README
Hydro

Hydro is a high-performance online judge system.
It is easy to deploy (with install script), light weight and extensible.
Also see previous version at vijos/vj4
Now we have a SaaS service running at https://hydro.ac. (Fully free of charge!)
You can easily have a glance at the features of the system and try it out.
You can also just use the service without self-hosting the system with the powerful domain feature.
Feel free to create an account and then navigate to MyAccount > MyDomains > Create Domain to create one.
中文
We are now looking for help with Korean and Japanese translation, if you are a native speaker of these languages, please contact us, pull requests are always welcome.
Contact US
Email: i@undefined.moe
Hydro QQ User Group: 1085853538
Telegram Group @hydrodev
Telegram @undefinedmoe
License
The software is distributed under AGPLv3 with additional terms.
Additional terms under AGPLv3 Section 7:
- You must not remove the copyright declaration displayed in the software. (Under AGPLv3, 7(b))
- When you distribute a modified version of the software, you must change the software name or the version number in a reasonable way in order to distinguish it from the original version. (Under AGPLv3, 7(c))
- Unless permitted, you are not allowed to use author's name, trademark or logo to promote the software. (Under AGPLv3, 7(d))
Contributing
See CONTRIBUTING.md
Thanks to
In dictionary order:
Extension points exported contracts — how you extend this code
IBasicProvider (Interface)
(no doc) [8 implementers]
packages/vjudge/src/interface.ts
RpDef (Interface)
(no doc) [4 implementers]
packages/hydrooj/src/script/rating.ts
Session (Interface)
(no doc) [2 implementers]
packages/hydrojudge/src/interface.ts
IpLoginInfo (Interface)
(no doc)
packages/onsite-toolkit/index.ts
BlogDoc (Interface)
(no doc)
packages/blog/index.ts
Context (Interface)
(no doc)
packages/prom-client/metrics.ts
C (Interface)
(no doc)
packages/components/frontend/provider.tsx
Events (Interface)
(no doc)
packages/ui-default/context.ts
Core symbols most depended-on inside this repo
param
called by 373
framework/framework/decorators.ts
i18n
called by 346
packages/ui-default/utils/base.ts
find
called by 293
packages/vjudge/src/providers/uoj.ts
on
called by 211
packages/ui-default/components/socket/index.ts
push
called by 204
packages/sonic/index.ts
push
called by 193
packages/hydrooj/src/model/problem.ts
all
called by 180
packages/ui-next/index.ts
log
called by 127
packages/hydrooj/src/handler/manage.ts
Shape
Function
1,159
Method
1,047
Class
496
Interface
255
Enum
6
Modules by API surface
packages/hydrooj/src/handler/contest.ts84 symbols
packages/hydrooj/src/handler/problem.ts77 symbols
framework/framework/server.ts71 symbols
packages/hydrooj/src/handler/user.ts60 symbols
packages/hydrooj/src/model/contest.ts57 symbols
packages/hydrooj/src/interface.ts56 symbols
packages/hydrooj/src/handler/home.ts54 symbols
packages/hydrooj/src/handler/domain.ts49 symbols
packages/hydrooj/src/handler/manage.ts41 symbols
packages/hydrooj/src/model/user.ts40 symbols
packages/hydrooj/src/model/problem.ts39 symbols
packages/hydrooj/src/handler/discussion.ts35 symbols
Dependencies from manifests, versioned
@aws-sdk/client-s33.1048.0 · 1×
@aws-sdk/lib-storage3.1048.0 · 1×
@aws-sdk/s3-presigned-post3.1048.0 · 1×
@aws-sdk/s3-request-presigner3.1048.0 · 1×
@babel/code-frame7.29.7 · 1×
@cordisjs/plugin-logger1.0.2 · 1×
@cordisjs/plugin-timer1.1.2 · 1×
@elastic/elasticsearch9.2.0 · 1×
@eslint-react/eslint-plugin4.2.3 · 1×
@fontsource/dm-mono5.2.7 · 1×
@fontsource/fira-code5.2.7 · 1×
Datastores touched
(mongodb)Database · 1 repos
hydroDatabase · 1 repos