online-mooc  by finch04

AI-enhanced MOOC platform for vocational training

Created 1 year ago
283 stars

Top 92.2% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

This project is an online vocational skills training platform (MOOC) designed for selling courses and enhancing the learning experience. It targets individuals seeking professional skills development and educational institutions looking for a comprehensive platform. The key benefit is a feature-rich environment combining traditional e-learning with modern AI capabilities for personalized learning and support.

How It Works

The platform employs a multi-center microservices architecture, separating concerns into modules like Course, Learning, AI, and Payment. It integrates AIGC features using LangChain4j and Qdrant for RAG and intelligent Q&A. High concurrency and availability are addressed through standard patterns like caching (Caffeine), message queues (RabbitMQ), distributed locks (Redisson), and asynchronous processing.

Quick Start & Requirements

  • Backend Environment: Java 11 (JDK17 branch available for AI features).
  • Frontend Environment: Node.js v17.8.0, NPM/PNPM.
  • Middleware: MySQL 8.0.29, Redis 7.0.0, Nacos 2.1.0, RabbitMQ 3.8, Minio, Qdrant, InfluxDB, XXL-JOB.
  • Deployment: CentOS Linux 7.9.2009 with Docker 20.10.8.
  • Documentation: Detailed installation and deployment instructions for middleware are in 天机学堂-扩展.md. Database schemas are in /sql.

Highlighted Details

  • AIGC Integration: Leverages LangChain4j and Qdrant for RAG, ToolCalling, and personalized AI Q&A. SpringAI is also integrated for AI course recommendations and dialogue.
  • E-commerce & Learning Features: Comprehensive course sales, learning plans, progress tracking, interactive features (comments, likes), and a robust payment system (Alipay, WeChat) with order refund handling.
  • Scalability & Observability: Implements distributed locking, message queues, asynchronous tasks, caching, and integrates tools like XXL-JOB for scheduling, Sentinel for traffic management, and Prometheus/Grafana for monitoring.
  • Media & Live Streaming: Utilizes Tencent Cloud VOD for video processing (encryption, playback, moderation) and Nginx RTMP for platform-level live streaming. Minio handles object storage with support for resumable uploads.

Maintenance & Community

The project is actively developed, with a dedicated JDK17 branch for AI feature integration. The author welcomes community contributions, bug reports, and suggestions via GitHub Issues. Direct consultation for deployment or customization is available via a WeChat official account.

Licensing & Compatibility

  • License: Apache License 2.0.
  • Compatibility: The Apache 2.0 license is generally permissive for commercial use and integration into closed-source projects.

Limitations & Caveats

The project is presented as a learning project, with the JDK17 branch containing the latest AI features, while the main branch is slated for a future upgrade. Some advanced features might be experimental or under active development, particularly those related to AI integration. The README mentions that the current branch is not being updated with new features while the JDK17 branch is prioritized.

Health Check
Last Commit

2 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
19 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.