Skip to content

THU-MAIC/MAIC-UI

Repository files navigation

πŸ€”Why MAIC-UI?

  • Turn abstract knowledge into interactive experiences
  • Reduce the cost of creating teaching resources
  • Support real classroom use with stable generated results
  • Help students learn by exploring, not just watching

πŸ“– Introduction

Let knowledge grow into interfaces, and let interaction flow into thinking.

MAIC-UI is an AI-powered interactive teaching generation system designed for educational scenarios across all grade levels. Centered on generative AI and interactive interface generation, it helps teachers quickly build teaching resources for classroom instruction, self-directed learning, experiment demonstrations, and knowledge exploration.

Unlike traditional static courseware or one-way content generation tools, MAIC-UI focuses not only on content generation, but also on learning process generation. It aims to transform abstract knowledge into visual, operable, and feedback-driven interactive pages, so that students do not merely see knowledge, but can also manipulate, experience, and understand it.

πŸ’‘ Key Highlights

  • AI-driven generation β€” Create teaching pages and interactive content from topic inputs.
  • From content to interaction β€” Generate not only content, but also interactive learning interfaces.
  • Versatile teaching support β€” Suitable for explanations, demonstrations, simulations, and review activities.
  • Process-oriented learning β€” Strengthen engagement through guidance, interaction, and feedback.
  • Classroom-ready design β€” Built for stable, controllable, and effective classroom use.

πŸ“ Positioning

MAIC-UI aims to address more than just the efficiency problem of courseware production. More importantly, it responds to several core needs in educational scenarios:

  • How can abstract knowledge become more intuitive?
  • How can classroom presentation turn into student participation?
  • How can AI go beyond assisting content writing to supporting learning experience design?

Therefore, MAIC-UI is not merely a traditional content generator, but rather:

An AI interactive teaching interface generation system designed for classroom and learning scenarios.

πŸš€ Quick Start

Prerequisites

  • Docker & Docker Compose
  • Git

1. Clone the Repository

git clone https://github.com/your-username/maic-ui.git
cd maic-ui

2. Configure Environment

# Copy the example environment file
cp .env.example .env

# Edit .env and add your API keys
# Required: AI_PROVIDER and corresponding API key (zhipu, anthropic, openai, etc.)
vim .env

Key Environment Variables:

Variable Description Required
AI_PROVIDER AI provider to use (zhipu, anthropic, openai, etc.) Yes
ZHIPU_API_KEY / ANTHROPIC_API_KEY / OPENAI_API_KEY API key for your chosen provider Yes
SECRET_KEY Secret key for JWT authentication Yes
DATABASE_URL Database connection string (SQLite by default) No

3. Deploy with Docker Compose

# Build and start all services
docker compose build
docker compose up -d

# Or build and start in one command
docker compose up -d --build

The application will be available at http://localhost:8927

4. Verify Deployment

# Check container status
docker compose ps

# Check backend health
curl http://localhost:8927/health

Service Architecture

Service Port Description
nginx 8927 Reverse proxy (public entry point)
frontend 3000 Next.js application
backend 8000 FastAPI application

Development Mode (Optional)

For local development without Docker:

# Install dependencies
npm run install:all

# Start both frontend and backend
npm run dev

# Or start separately
npm run dev:frontend  # Frontend on port 3000
npm run dev:backend   # Backend on port 8000

✨ Features

✏️ Use Cases

MAIC-UI can be applied to the following typical teaching scenarios:

🎯 Lesson Introduction

Attract students’ attention and stimulate interest through intuitive pages.

πŸ“š Knowledge Explanation

Transform abstract concepts into visual and interactive content.

πŸ”¬ Experiment Simulation

Demonstrate processes when laboratory equipment or conditions are limited.

πŸ“ After-class Consolidation

Strengthen understanding and transfer of knowledge through interactive exercises.

🌟 Advantages

Dimension Traditional Courseware / Resource Production MAIC-UI
Production threshold High, relies on manual design and technical operations Lower, can generate quickly
Content form Mainly static presentation Dynamic and interactive presentation
Student role Passive viewer Active participant and explorer
Abstract knowledge expression Difficult to present complex processes Better suited for expressing dynamic patterns
Teaching adaptability High adjustment cost More suitable for quickly generating for different topics
Classroom performance Strong in presentation, weak in interaction Balances both presentation and interaction

🀝 Contributing

We welcome contributions from the community. Whether it is a bug report, feature suggestion, or pull request, we truly appreciate it.

Contribution Process

🧩 Project Structure

MAIC-UI/
β”œβ”€β”€ frontend/                # Frontend project
β”‚   β”œβ”€β”€ public/              # Static assets
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ app/             # Page routes
β”‚   β”‚   β”œβ”€β”€ components/      # Shared components
β”‚   β”‚   β”œβ”€β”€ styles/          # Style files
β”‚   β”‚   └── utils/           # Utility functions
β”‚   └── package.json
β”‚
β”œβ”€β”€ backend/                 # Backend project
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ api/             # API layer
β”‚   β”‚   β”œβ”€β”€ service/         # Business logic
β”‚   β”‚   β”œβ”€β”€ models/          # Data models
β”‚   β”‚   └── core/            # Configuration and core functions
β”‚   β”œβ”€β”€ requirements.txt
β”‚   └── main.py
β”‚
β”œβ”€β”€ docs/                    # Documentation
β”œβ”€β”€ screenshots/             # Project screenshots
β”œβ”€β”€ docker-compose.yml
└── README.md

πŸ—οΈ Core Architecture

MAIC-UI adopts a frontend-backend separated architecture, consisting of the following main parts:

  • Frontend layer: responsible for user interaction, page presentation, and teaching resource display
  • Backend layer: responsible for business logic processing, API management, and generation workflow scheduling
  • AI generation layer: responsible for teaching content generation, page organization, and interactive resource construction
  • Data layer: responsible for user information, resource configuration, and generated result management

The system operates around the following workflow:

Input teaching requirements β†’ Generate teaching content β†’ Build interactive pages β†’ Display teaching resources

πŸ”§How to Contribute

πŸ’Ό Business Cooperation

If you would like to apply MAIC-UI to educational products, learning platforms, course resource development, or school-enterprise cooperation scenarios, feel free to contact us for further collaboration.

πŸ“ Citation

If MAIC-UI is helpful to your research or project, please consider citing this project.

@Article{JCST-2509-16000,
  title = {From MOOC to MAIC: Reimagine Online Teaching and Learning through LLM-driven Agents},
  journal = {Journal of Computer Science and Technology},
  volume = {},
  number = {},
  pages = {},
  year = {2026},
  issn = {1000-9000(Print) /1860-4749(Online)},
  doi = {10.1007/s11390-025-6000-0},
  url = {https://jcst.ict.ac.cn/en/article/doi/10.1007/s11390-025-6000-0},
  author = {Ji-Fan Yu and Daniel Zhang-Li and Zhe-Yuan Zhang and Yu-Cheng Wang and Hao-Xuan Li and Joy Jia Yin Lim and Zhan-Xin Hao and Shang-Qing Tu and Lu Zhang and Xu-Sheng Dai and Jian-Xiao Jiang and Shen Yang and Fei Qin and Ze-Kun Li and Xin Cong and Bin Xu and Lei Hou and Man-Li Li and Juan-Zi Li and Hui-Qin Liu and Yu Zhang and Zhi-Yuan Liu and Mao-Song Sun}
}

⭐ Star History

If this project helps you, please consider giving it a star to support us.

Star History Chart

About

MAIC-UI (Making Interactive Courseware with Generative UI)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages