A web platform designed to strengthen programming skills among students by providing tools and resources to prepare effectively for programming competitions. Built with Microservices architecture, Python, Javascript, and React, fully deployable via Docker/Kubernetes with CI/CD integration.
This project is a virtual judge system that simulates real competition environments, allowing students to practice, submit code, and receive automated feedback. It features multiple independent microservices for authentication, code evaluation, document library, and support management, all accessible through a unified web interface.
- Virtual Judge Microservice: Evaluates code in multiple programming languages with automated test cases.
- Authentication Microservice: Secure user registration, login, and session management.
- Document Library Microservice: Centralized access to learning resources and problem statements.
- Support (PQRS) Microservice: Handles user requests, questions, and feedback.
- Unified Frontend: Intuitive React-based interface for seamless user interaction.
- Scalable Architecture: Independent deployment and scaling of each microservice.
- CI/CD Pipeline: Automated testing and deployment using GitHub/GitLab.
Core Technologies
- 🧩 Microservices Architecture
- 🔄 API REST (HTTP/JSON)
- 🐳 Docker
- 🎨 Thymeleaf
- 🧱 Domain-Driven Design (DDD)
Backend Technologies
- 🐍 Python / Node.js (for microservices)
- ☕ JavaScript
- 🗄️ PostgreSQL / MongoDB (database per service)
Frontend & Design
- ⚛️ React + JavaScript
- 🎨 CSS / Tailwind CSS (for responsive design)
Development & DevOps
- 🔧 Git (GitFlow) with branch protection
- 🛠️ GitHub / GitLab CI/CD
- 📄 Swagger for API documentation
- 🧪 Unit & Integration Testing (JUnit, Jest, etc.)
- 🔐 Security Practices: Input validation, Circuit Breaker
Methodology
- 🔄 Agile (Scrum) with 2–10 week sprints
- 📊 Trello for project management
The project follows an MVC architecture (Model–View–Controller) with a clear separation of concerns:
CodeDev/ ├── microservice-authentication/ # Auth service (JWT, OAuth2) ├── microservice-virtual-judge/ # Code evaluation service ├── microservice-library/ # Document and resource library ├── microservice-pqrs/ # Support and feedback system └── frontend-react/ # Unified React frontend