UWA Judge
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
Submit Your Code
Students write and submit their solutions through the web interface with syntax highlighting and code editing support.
Automated Testing
The system automatically runs your code against predefined test cases in a secure, isolated environment.
Instant Results
Receive immediate feedback on test results, execution time, and detailed error messages to help improve your solution.