Skip to content

university project of the Advanced Topics of Software Engineering course

Notifications You must be signed in to change notification settings

makarwu/OnlineIDE

Repository files navigation

OnlineIDE - Advanced Topics of Software Engineering

Overview

This project is an Online Integrated Development Environment (OnlineIDE), developed as part of the Advanced Topics of Software Engineering course at TUM. The goal is to create a cloud-based IDE that allows users to write, compile, and execute code within a web-based interface.

Features

  • Web-based code editor
  • Compiler integration
  • API Gateway for managing HTTP requests
  • Microservices architecture
  • Service discovery using Eureka
  • Authentication via OAuth 2.0
  • CI/CD pipeline with GitLab and Docker
  • Dark mode support

Project Structure

📂 project/
 ├── src/
 ├── pom.xml
📂 ui/
📂 compiler/
📂 api_gateway/
📂 service_registry/
📂 dark_mode/

Project Overview

Architecture

  • Frontend: A web-based UI for writing and executing code
  • Backend: Microservices-based architecture managed via an API Gateway
  • Service Registry: Eureka server for service discovery
  • Authentication: OAuth 2.0 for secure access
  • Containerization: Dockerized microservices for easy deployment

Setup Instructions

Prerequisites

  • Java & Maven
  • Node.js
  • Docker
  • Git

Installation

  1. Clone the repository:
    git clone https://github.com/your-username/OnlineIDE.git
    cd OnlineIDE
  2. Start the backend services:
    cd api_gateway
    mvn spring-boot:run
  3. Start the frontend:
    cd ui
    npm install
    npm start
  4. Run the application in Docker (optional):
    docker-compose up

License

This project is licensed under the MIT License.

About

university project of the Advanced Topics of Software Engineering course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published