SDUOJ/sduoj-server

Created Apr 23, 2022 · View the SDUOJ/sduoj-server repository page

This is the microservice server of the SDUOJ.

Want this for your repo?

Render a free sample of any GitHub repo in seconds.

Visualize your own →

Contributors

7

Lines of Code

2,949

From

Feb 26, 2020

To

Mar 19, 2022

About SDUOJ/sduoj-server

SDUOJ Server is the backend microservice architecture for SDUOJ, an online judge platform. It's built using Spring Boot and Spring Cloud to provide a distributed, scalable system for managing programming contests and problem submissions.

The project is organized as multiple independent microservices including a gateway, authentication service, user management, problem repository, file system, submission handling, contest management, and websocket service for real-time communication. Each service can be deployed and scaled independently using Docker containers. The stack leverages MyBatis and MyBatis-Plus for database operations, with Lombok for reducing boilerplate and MapStruct for object mapping between different data layers.

The system uses Nacos for service discovery and configuration management, allowing services to dynamically locate and communicate with each other. Deployment is containerized, with configurable resource limits including CPU allocation and process limits per container. The architecture supports multiple environments through dev and prod profiles, making it suitable for both development testing and production deployment at scale.

Share this video