moducoda

ModuCoda - Interactive Learning Environments

Making interactive learning accessible to everyone, everywhere. πŸš€

License: AGPL v3 License: Commercial .NET Docker Cross Platform

Note: This project is still in early development. Significant changes to the code may occur frequently without notice.

ModuCoda is an open-source, cross-platform interactive learning environment that provides the frontend functionality similar to KataCoda and KillerCoda. It serves as a YARP-based reverse proxy that integrates with external services like ttyd (web terminal) and VS Code tunnel to create seamless interactive tutorials, coding exercises, and hands-on learning experiences across Windows, macOS, and Linux platforms.

Screenshot

Single-Course Container Image

이 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ ν•˜λ‚˜μ˜ Docker 이미지 μ•ˆμ— ν•˜λ‚˜μ˜ ν•™μŠ΅ μ½”μŠ€λ₯Ό ν¬ν•¨ν•˜λŠ” μ‚¬μš© νŒ¨ν„΄μ„ μ§€μ›ν•©λ‹ˆλ‹€. 기본적으둜 src/ModuCoda/wwwroot/content/index.json이 μ‘΄μž¬ν•˜λ©΄ /instructions νŽ˜μ΄μ§€κ°€ ν•΄λ‹Ή μ½”μŠ€λ₯Ό μžλ™ λ‘œλ“œν•˜μ—¬ 단계별 μ•ˆλ‚΄λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

πŸš€ Features

πŸ—οΈ Architecture

ModuCoda acts as a central hub that proxies requests to various backend services:

πŸ”§ Prerequisites

🎯 Usage

Quick Start

  1. Start Backend Services: Run launch_backend.cmd to start ttyd and VS Code tunnel
  2. Launch ModuCoda: Run dotnet run in the ModuCoda directory
  3. Open Browser: Navigate to http://localhost:5000
  4. Start Learning: Follow the interactive instructions in the left panel

Interface Overview

Supported Learning Scenario Examples

πŸ› οΈ Configuration

The application can be configured through:

Service Configuration

🀝 Contributing

We welcome contributions from the community! Here’s how you can help:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and add tests if applicable
  4. Commit your changes: git commit -m 'Add amazing feature'
  5. Push to the branch: git push origin feature/amazing-feature
  6. Open a Pull Request

Development Guidelines

πŸ“‹ Roadmap

πŸ“„ License

ModuCoda is available under a dual licensing model:

Basically, this project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) for open source use - see the LICENSE file for details.

For commercial deployments that require proprietary modifications or cannot comply with AGPL-3.0 requirements, a commercial license is available - see the LICENSE-COMMERCIAL file for details.

Use Case Recommended License
Open source projects AGPL-3.0
Educational/Research use AGPL-3.0
Internal enterprise use with source sharing AGPL-3.0
Commercial SaaS without source disclosure Commercial License
Integration into proprietary software Commercial License
Redistribution in commercial products Commercial License

Getting a Commercial License

For commercial licensing inquiries, please contact the project maintainers:

We offer flexible commercial licensing terms based on your specific use case and requirements.

πŸ™ Acknowledgments

🌟 Show Your Support

If you find ModuCoda helpful, please consider: