Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gurkengewuerz/gitcodejudge
An advanced open-source online code execution system based on git
https://github.com/gurkengewuerz/gitcodejudge
coding-competitions docker gitea golang icpc linux online-judge programming-contests python
Last synced: 17 days ago
JSON representation
An advanced open-source online code execution system based on git
- Host: GitHub
- URL: https://github.com/gurkengewuerz/gitcodejudge
- Owner: Gurkengewuerz
- License: agpl-3.0
- Created: 2024-10-24T23:54:19.000Z (19 days ago)
- Default Branch: main
- Last Pushed: 2024-10-26T02:30:12.000Z (18 days ago)
- Last Synced: 2024-10-26T12:28:39.770Z (18 days ago)
- Topics: coding-competitions, docker, gitea, golang, icpc, linux, online-judge, programming-contests, python
- Language: Go
- Homepage:
- Size: 215 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Automated Programming Workshop Judge
A secure, scalable system for automatically testing student programming assignments in university workshops. This system integrates with Gitea for submission handling and uses Docker for secure code execution. Additionally, it seamlessly integrates with [ContainerSSH](https://containerssh.io/) to provide secure SSH access to the containers for debugging and interactive sessions.
## Features
- 🔒 **Secure Execution**: All student code runs natively in isolated Docker containers
- ⚙️ **Parallel Processing**: Handles multiple submissions simultaneously (configurable)
- ⏱️ **Real-time Feedback**: Students receive immediate test results on their commits
- 📈 **Scalable**: Handles large classes (100+ students) efficiently
- 🔐 **Privacy**: Students can't access other students' solutions (depending on the Git setup)
- 🏫 **Multiple Workshop Support**: Organize test cases by workshop and task
- 📝 **Flexible Test Cases**: Support for YAML configuration of test cases
- 🏆 **Leaderboard and Statistics**: Track student performance and display leaderboards
- 📄 **Problem PDF Exports**: Export problem statements and test cases to PDF
- 💻 **Multiple Programming Languages Support**: Supports testing code in various programming languages (currently Python, Go)
- 📅 **Time Constraints**: Set start and end dates for tasks
- 🖥️ **Interactive Development**: SSH access to development containers via ContainerSSH## Documentation
- [Quick Start Guide](docs/quick-start.md)
- [Web Handlers](docs/web-handlers.md)
- [Architecture Overview](docs/architecture.md)
- [Configuration Guide](docs/configuration.md)
- [Test Case Setup](docs/test-cases.md)
- [Instructor Guide](docs/instructor-guide.md)
- [Student Guide](docs/student-guide.md)
- [Development Guide](docs/development.md)## License
This project is licensed under the AGPL - see the [LICENSE](LICENSE) file for details.
## Support
For support, please open an issue in the repository.