Online IDE Development
1public class Main {
2 public static void main(String[] args) {
3 System.out.println("Hello, World!");
4 }
5}Notice: This demo project is hosted on Google Cloud Platform (click to visit) and will be available until May 1st, 2025.
Introduction
A web-based integrated development environment where users can write, manage, and compile Java source code directly in the browser without installing any local compilers or development tools. Built with a microservices architecture, providing core features like project management, code editing, and compilation execution.
System includes multiple microservices:
- Service Registry (Eureka): Service discovery
- API Gateway: System entry point and request routing
- Compiler Service: Provides compilation functionality
- Dark Mode Service: Manages user dark mode preferences
- Project Service: Handles project-related data, integrates with PostgreSQL
- Angular UI: User interaction frontend
All services run in Docker containers and are automatically deployed to Google Cloud Platform using GitLab CI/CD.
System Architecture
The system adopts a microservices architecture, managing requests through an API Gateway, with independently deployed and scalable microservices. Deployed on Google Cloud Platform, click to visit. Service registry uses Eureka for service auto-discovery and registration.

Requirements
Project and source code file management (CRUD)
Java source code compilation and execution
OAuth 2.0 (GitLab LRZ) authentication
Microservices architecture with independent deployment
API Gateway for request routing and authentication
Dark mode support (auto-switches every 30 seconds to showcase functionality)
Containerized deployment with Docker
Service auto-discovery and registration
Technologies
Frontend: Angular + Monaco Editor + NgRx
Frontend Deployment: Nginx Reverse Proxy + Performance Optimization
Backend: Spring Boot Microservices
Database: PostgreSQL / Redis Caching
Authentication: OAuth 2.0 (GitLab LRZ)
Containerization: Docker + Kubernetes
API Gateway: Spring Cloud Gateway
Service Discovery: Spring Cloud Eureka
CI/CD: GitLab CI/CD + Docker Registry
Cloud Deployment: Google Cloud Platform (GKE)
Monitoring: Prometheus + Grafana
Load Balancing: Nginx + Spring Cloud LoadBalancer
Challenges
How to efficiently handle concurrent compilation requests from multiple users (optimized to 200-500ms response time)
How to ensure code execution security (preventing malicious code execution)
How to optimize API Gateway performance (handling high concurrent requests)
How to improve Web IDE user experience (smooth code editing and error feedback)
How to ensure system scalability and fault tolerance (service auto-scaling)
How to build efficient CI/CD pipelines (automated testing and deployment)
How to optimize container image size and build speed (reducing deployment time)
How to implement service high availability (30-60s service auto-recovery)