UWA Judge

A modern code judging platform for UWA coding assignments

Features

Multi-Language Support

Execute and test code in multiple programming languages with isolated sandboxed environments.

Real-Time Feedback

Get instant results and detailed test case feedback for submitted code solutions.

Secure Execution

Containerized code execution ensures safe and isolated runtime environments.

Persistent Storage

Store submissions, test cases, and user progress with a robust database backend.

User Management

Complete authentication system with role-based access control for students and instructors.

Modular Architecture

Built with a monorepo structure for maintainable and scalable development.

Architecture

Frontend

  • • Next.js 15 with App Router
  • • React Server Components
  • • Tailwind CSS for styling
  • • TypeScript for type safety

Backend API

  • • RESTful API with Node.js
  • • Express.js framework
  • • PostgreSQL database
  • • Prisma ORM

Code Execution

  • • Docker containerization
  • • Isolated sandbox environments
  • • Resource limits and timeouts
  • • Multi-language runtime support

Infrastructure

  • • pnpm monorepo workspace
  • • Docker Compose orchestration
  • • Shared TypeScript packages
  • • Development hot-reload

How It Works

1

Submit Your Code

Students write and submit their solutions through the web interface with syntax highlighting and code editing support.

2

Automated Testing

The system automatically runs your code against predefined test cases in a secure, isolated environment.

3

Instant Results

Receive immediate feedback on test results, execution time, and detailed error messages to help improve your solution.