roncoo-education: a Spring Cloud Alibaba platform for building an online school
领课教育系统是一套基于点播、直播、考试、题库、任务等功能完善的在线教育系统,开源版是基于商业版精简实现的一个网课网校系统,致力于打造一个各行业都适用的在线培训系统、远程教学平台、学习管理系统、知识付费系统。
At a glance
- What is it?
- The open source edition of the Roncoo education system ships a Spring Cloud Alibaba backend, a Nuxt 3 portal and a Vue 3 admin console under AGPL-3.0, with commercial use gated behind a separate licence.
- Who is it for?
- Adopt roncoo-education if you want a Spring Cloud Alibaba codebase to study or to extend for a non-commercial teaching project, and if you are willing to run MySQL 8, Nacos and Seata before the first page renders. Do not adopt it if you intend to sell access to the deployed system, because the README states that commercial use requires a consultation with the vendor and forbids selling the code or its documentation in any form.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 37 days ago.
- What is it written in?
- Mainly Java, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 16, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The problem roncoo-education addresses
Standing up a course platform usually means stitching together a video host, a payment path, an exam engine and a student portal. roncoo-education packages those as one system. The README describes it as a distributed online education system built from the vendor's own operating experience, aimed at individuals and companies who want to launch a lightweight teaching site quickly.
The stated feature set covers course on-demand playback, with support for connecting several video cloud providers, and course attachment management, with support for several storage cloud providers. The repository topics list exam, question bank and task functionality, and the description adds live streaming and knowledge-payment scenarios. The intended audience is anyone building an online training system, a remote teaching platform, a learning management system or a paid-content site, across industries rather than only schools.
It is not a hosted service. You get source code for a backend, a student-facing portal and an admin console, and you run the infrastructure yourself.
Three repositories, one Spring Cloud backend
The project is split across three source repositories. roncoo-education holds the backend, with Spring Cloud Alibaba as its core framework. roncoo-education-web is the portal, built on Nuxt 3. roncoo-education-admin is the management console, built on Vue 3. Each is mirrored on Gitee, GitHub and Gitcode, so you can pick the host that is reachable from your network.
The backend repository layout reflects a service-oriented design. Top-level entries include roncoo-education-common, roncoo-education-feign, roncoo-education-gateway and roncoo-education-service, alongside a parent pom.xml, a distribution directory and a CHANGELOG.md. The feign module implies inter-service calls through Spring Cloud OpenFeign, and the gateway module implies a single entry point in front of the services. The README names the backend stack as Spring Cloud Alibaba 2025, MySQL 8, Nacos, Seata, MyBatis and Druid. Nacos covers service discovery and configuration, Seata covers distributed transactions, Druid is the connection pool and MyBatis the persistence layer.
On the front end, the README lists Vue 3, Nuxt 3, Vite 8, Vue-Router, Element Plus, Pinia and Axios. The badge block pins Spring Boot 3.5.0, Spring Cloud Alibaba 2025.0.0.0, Vue 3.5.20, Element Plus 2.11.3 and Nuxt 3.17.2. Those are the versions the project advertises as its baseline.
The AI feature uses streaming output to generate course descriptions and teaching outlines in real time. The README says more AI capabilities will be added over time. The AI badge sits in the topics list as well, so it is treated as part of the product rather than an experiment.
Installing and running the backend
The README does not include an install walkthrough. It points readers to a WeChat public account for SQL scripts, deployment tutorials and common questions, and it lists a live demo portal at eduos.roncoos.com with the admin console at eduos.roncoos.com/admin. The distribution directory in the repository is the other place to look, since that is where packaging artifacts live.
What the repository does show is the project layout: the backend is a Maven project with a parent pom.xml at the top level, and roncoo-education-common, roncoo-education-feign, roncoo-education-gateway and roncoo-education-service as modules beneath it. The README does not give a build command, so the only thing you can confirm from the repository is that the modules are built together from that parent POM rather than one at a time.
Before anything starts, the external dependencies named in the README have to exist: MySQL 8 for data, Nacos for discovery and configuration, and Seata for distributed transactions. The README does not publish ports, credentials or configuration keys for any of them, so the values have to come from the SQL scripts and deployment material distributed through the WeChat account or from the configuration files inside the repository itself.
The two front ends are separate repositories. Clone roncoo-education-web for the Nuxt 3 portal and roncoo-education-admin for the Vue 3 console, and follow the setup in each of those repositories. A first real use is the shortest path the README offers: open the demo portal, then open the demo admin console, and compare the screens there against the modules you plan to enable in your own deployment.
Where roncoo-education is the wrong choice
The licence is the first constraint. The project is AGPL-3.0, and the README adds its own terms on top. It permits personal study, graduation projects, teaching cases and public-interest work. It states that commercial use requires a consultation with the vendor, and it forbids selling the project's code or related material in any form or under any name. An AGPL-3.0 project that is also distributed with a commercial edition and a separate commercial licence is a common pattern, but it means the open source edition and the commercial edition are not the same product. The description says the open source edition is a simplified implementation of the commercial one. If a module you need exists only in the commercial build, the repository will not have it.
The operational weight is the second constraint. Nacos plus Seata plus a gateway plus multiple services is a meaningful footprint for what the README itself calls a lightweight platform. A single-school deployment with a few hundred students is paying distributed-systems overhead for capacity it will not use. Seata in particular only earns its place when you actually have cross-service transactions.
The documentation is the third. The README is a product description with screenshots and links, not an operations manual. Installation steps, database schema and deployment instructions are routed to an external channel rather than kept in the repository. If your team cannot read Java and Spring configuration directly, the onboarding cost is real. The README does not document rollback, backup or upgrade procedures, and the CHANGELOG.md is the only in-repo record of what changed between releases.
How it compares with Edusoho and Meedu
Edusoho and Meedu appear in the searches people run around this project, and they represent a different architectural bet. Both are PHP-based learning systems with long histories in the Chinese online education market. A PHP LMS typically deploys as an application plus a web server plus MySQL, and its extension model is plugins rather than separately deployed services.
roncoo-education takes the opposite route. It is a Java and Spring Cloud Alibaba system where the backend is decomposed into a gateway, services and a Feign client layer, with Nacos and Seata as infrastructure. The trade is explicit: you get a stack that a Java team can extend along familiar lines, and you take on service discovery, distributed transactions and multi-process deployment as part of the deal. A PHP LMS asks less of your operations team and less of your build pipeline.
There is also a language and ecosystem difference in the front end. roncoo-education pairs a Nuxt 3 portal with a Vue 3 admin console, both using Element Plus. If your team already writes Vue, that is a shorter ramp than adopting a PHP template system. If your team writes PHP, the opposite is true.
The honest summary is that the choice follows your team, not the feature list. Both approaches cover courses, video and exams. They differ in what you have to operate.
Maintenance, upgrades and licence cost
The repository is not archived, and the last push was on 2026-08-13. The most recent release listed is v25.0.0-RELEASE, dated 2025-09-01. The version number tracks the year, so a yearly release cadence is the pattern the repository shows. Commits land between releases, but the release artifacts are annual.
Upgrading is not a drop-in operation. The advertised stack pins Spring Boot 3.5.0, Spring Cloud Alibaba 2025.0.0.0, Vue 3.5.20, Element Plus 2.11.3 and Nuxt 3.17.2. Spring Cloud Alibaba releases are aligned to Spring Boot and Spring Cloud generations, so a version bump on one side pulls the other. With three repositories in play, a coordinated upgrade means moving the backend, the portal and the admin console together, and the admin console and portal are separate codebases you have to track yourself. Budget for that as recurring work, not a one-time setup.
The licence cost is a business question, not a legal one. AGPL-3.0 requires that users interacting with a modified version over a network be offered the corresponding source. The README's own terms add a commercial restriction and a ban on reselling the code or its documentation. Read both, and if you plan to charge for access, treat the consultation contact in the README as a prerequisite rather than an afterthought. Nothing here is legal advice.
One practical cost the README does not address: the deployment tutorials, SQL scripts and FAQ live behind a WeChat public account. That is a distribution channel, not a repository artifact, and it is worth confirming it is reachable and current before you commit a team to the stack.
Editorial conclusion
Adopt roncoo-education if you want a Spring Cloud Alibaba codebase to study or to extend for a non-commercial teaching project, and if you are willing to run MySQL 8, Nacos and Seata before the first page renders. Do not adopt it if you intend to sell access to the deployed system, because the README states that commercial use requires a consultation with the vendor and forbids selling the code or its documentation in any form. Verify three things first: that the AGPL-3.0 terms fit how you will expose the service over a network, that your team can operate the Nacos and Seata dependencies, and that the modules you need are present in the open source edition rather than only in the commercial one.
Frequently asked questions
Can I use roncoo-education commercially?
The README states that commercial use requires a consultation with the vendor, and gives a contact number for that purpose. It also forbids selling the project's code or related material in any form or under any name. Personal study, graduation projects, teaching cases and public-interest use are listed as permitted.
What does roncoo-education require to run?
The README names Spring Cloud Alibaba 2025, MySQL 8, Nacos, Seata, MyBatis and Druid for the backend, with Spring Boot 3.5.0 as the baseline. The front end uses Vue 3, Nuxt 3, Vite 8, Vue-Router, Element Plus, Pinia and Axios. The README does not publish ports or configuration keys.
Is roncoo-education the same as the commercial edition?
No. The project description states that the open source edition is a simplified implementation of the commercial edition, so some functionality may exist only in the commercial build. The repository is the authoritative list of what the open source edition contains.
Community notes