Skip to content

Mythetech/Apollo

Repository files navigation

Apollo Code Editor

Apollo is a web-based C# code editor powered by Roslyn that enables writing, testing, and running C# code directly in the browser using WebAssembly. It provides real-time compilation, diagnostics, web api emulation, ind IntelliSense features, but runs entirely in the browser.

Deploy Apollo MIT License

image

Features

Code Editing

  • Real-time C# syntax highlighting and error detection
  • IntelliSense support
  • Multi-file project support
  • WebAssembly-based compilation and execution
  • Offline support

Project Types

  • Console Applications
  • Web APIs (ASP.NET Core Minimal APIs)
  • Test Files

Development Experience

  • Real-time error detection and diagnostics
  • Integrated console output
  • API endpoint testing for Web APIs
  • Test runners
  • Solution management

Quick Start

  1. Visit Apollo Editor
  2. Choose a project template or start with a blank console application
  3. Write your C# code
  4. Click Run (or press Ctrl+Enter) to execute

Key Technologies

  • Blazor WebAssembly for the UI
  • Monaco Editor for code editing
  • Roslyn for code analysis and compilation
  • WebWorkers for processing
  • MudBlazor & FluentUI

Development Setup

Prerequisites

  • .NET 9.0 SDK
  • DotNet Wasm Workload
  • A modern web browser with WebAssembly support

You can install the WebAssembly workload with:

dotnet workload install wasm-tools

Getting Started

  1. Clone the repository

    git clone https://github.com/mythetech/apollo.git
    cd apollo
  2. Install dependencies

    dotnet restore
  3. Build the solution

    dotnet build
  4. Run the development server

    dotnet run --project Apollo.Web
  5. Navigate to https://localhost:7092

Contributing

We welcome contributions!

  • Bug fixes
  • Documentation updates
  • Enhancing functionality
  • Samples/Templates
  • Full features! (Start discussion for guidance)

Development Workflow

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Submit a pull request

Project Status

Apollo is currently in alpha. While it's stable enough for learning and experimentation, we recommend against production use. Key areas under development:

  • Expanded project support for class libraries
  • Enhanced Web API testing features
  • Improved intellisense
  • Additional testing frameworks
  • Performance optimizations
  • Overall Application Stability

Please see our Roadmap for details

License

This project is licensed under the MIT License - see the LICENSE file for details.