Our platform, Normal Online Judge (NOJ), is designed to provide easy-to-use web-based system that evaluates programming code submitted by users for departmental courses.
We look forward to adding more features to help programming education in the future.
- Front-end: Vue3 (TypeScript) / TailwindCSS
- Back-end: Flask (Python) / Redis / MongoDB
- Sandbox: C / Python
- Hosting: Cloudflare Pages (Front-end) / Self-hosted with Caddy
Teachers can easily create and manage courses, add programming problems, and create assignments with just a few clicks. The intuitive user interface makes it easy to track student progress, enabling teachers to focus on teaching and helping students.
![](https://camo.githubusercontent.com/e9209d88e01695074408119d87a152e40f68d85fa274a12ea1f298147dbd41be/68747470733a2f2f692e696d6775722e636f6d2f394c746539346c2e706e67) |
Homeworks View |
![](https://camo.githubusercontent.com/e506eabb60fcdd23e1452962c41f28348e26d35a84eaf08bef59c57f554504db/68747470733a2f2f692e696d6775722e636f6d2f554a446c32696b2e706e67) |
Create Announcement |
Similar to existing systems, NOJ automates the process of judging student submissions, providing real-time feedback on errors and test results. Besides, we are constantly improving our platform to provide additional features, such as support for a wider range of problem types.
![](https://camo.githubusercontent.com/4987e42bfb3cba122edd635fe3ab03084edfba801462acaf818b5cef1491cc3e/68747470733a2f2f692e696d6775722e636f6d2f446171685970362e706e67) |
Submission Result |
NOJ provides visual analysis of students' submissions, including problem statistics, submission statistics, and homework scoreboard. This allows teachers to identify areas where students may need additional help, and adjust their teaching accordingly.
![](https://camo.githubusercontent.com/506dff66c2e5afcadcf31468f656fdf9614527942d23a16ab2ccd8539c5cd36a/68747470733a2f2f692e696d6775722e636f6d2f59674a623931652e706e67) |
Problem Statistics |
![](https://camo.githubusercontent.com/b0be7c855f0cdcdaf2f272ef9a91094d071a7976f87d647cf746af8bc57114cc/68747470733a2f2f692e696d6775722e636f6d2f776d48346b42302e706e67) |
Submission Analysis |
NOJ's modern user interface is designed with usability in mind, making it easy for both teachers and students to navigate the platform and stay up-to-date on their progress. Also, we continuously improve the user experience by gathering feedback from users.
![](https://camo.githubusercontent.com/56804407c845f5488e25c1fd47277322b691d6fa1355ba5b0c2ab547713bec6b/68747470733a2f2f692e696d6775722e636f6d2f535946684635332e706e67) |
Problem View in light mode |
![](https://camo.githubusercontent.com/96594b81569027258491176372104e6611d6566f787ce015c4e2d11c32894c0a/68747470733a2f2f692e696d6775722e636f6d2f5553753956736a2e706e67) |
Problem View in dark mode |