{"id":14358427,"url":"https://github.com/learnhouse/learnhouse","last_synced_at":"2026-03-11T23:01:03.540Z","repository":{"id":176537858,"uuid":"490861517","full_name":"learnhouse/learnhouse","owner":"learnhouse","description":"The Next-gen Open Source learning platform for everyone ✨","archived":false,"fork":false,"pushed_at":"2026-03-11T20:30:32.000Z","size":23793,"stargazers_count":1321,"open_issues_count":19,"forks_count":246,"subscribers_count":9,"default_branch":"dev","last_synced_at":"2026-03-11T20:31:47.955Z","etag":null,"topics":["ai","ai-powered","api","cms","education","educational","headless","learning","lms","platforms","python","react"],"latest_commit_sha":null,"homepage":"https://learnhouse.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/learnhouse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-05-10T21:10:28.000Z","updated_at":"2026-03-11T20:30:37.000Z","dependencies_parsed_at":"2024-01-05T00:11:39.720Z","dependency_job_id":"4c5169d9-ba68-436e-9710-18ec58e924b1","html_url":"https://github.com/learnhouse/learnhouse","commit_stats":{"total_commits":813,"total_committers":12,"mean_commits":67.75,"dds":"0.15498154981549817","last_synced_commit":"94c2ed50ab44528379e7c716da44c6550dc735a8"},"previous_names":["learnhouse/learnhouse"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/learnhouse/learnhouse","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/learnhouse%2Flearnhouse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/learnhouse%2Flearnhouse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/learnhouse%2Flearnhouse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/learnhouse%2Flearnhouse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/learnhouse","download_url":"https://codeload.github.com/learnhouse/learnhouse/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/learnhouse%2Flearnhouse/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30400799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T21:02:20.017Z","status":"ssl_error","status_checked_at":"2026-03-11T20:59:32.667Z","response_time":84,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-powered","api","cms","education","educational","headless","learning","lms","platforms","python","react"],"created_at":"2024-08-27T12:01:36.082Z","updated_at":"2026-03-11T23:01:03.512Z","avatar_url":"https://github.com/learnhouse.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://learnhouse.app\"\u003e\n    \u003cimg src=\".github/images/learnhouse-github.png\" alt=\"LearnHouse\" width=\"600\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003eThe next-gen open-source platform for world-class educational content.\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/learnhouse/learnhouse/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/learnhouse/learnhouse?style=flat\u0026color=blue\" alt=\"License\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/learnhouse/learnhouse/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/learnhouse/learnhouse?style=flat\" alt=\"Stars\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/learnhouse\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/learnhouse?style=flat\u0026label=cli\" alt=\"CLI Version\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/learnhouse/learnhouse/commits\"\u003e\u003cimg src=\"https://img.shields.io/github/last-commit/learnhouse/learnhouse?style=flat\u0026label=last%20commit\" alt=\"Last Commit\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/learnhouse/learnhouse/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/learnhouse/learnhouse?style=flat\" alt=\"Issues\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/learnhouse/learnhouse/pulls\"\u003e\u003cimg src=\"https://img.shields.io/github/issues-pr/learnhouse/learnhouse?style=flat\u0026label=PRs\" alt=\"Pull Requests\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n📖 \u003cb\u003eCourses\u003c/b\u003e — Create and manage courses with ease\u003cbr\u003e\n✏️ \u003cb\u003eEditor\u003c/b\u003e — Powerful block-based Notion-like content editor\u003cbr\u003e\n📦 \u003cb\u003eCollections\u003c/b\u003e — Organize courses into curated bundles\u003cbr\u003e\n📝 \u003cb\u003eAssignments\u003c/b\u003e — Create tasks and track student submissions\u003cbr\u003e\n💬 \u003cb\u003eDiscussions\u003c/b\u003e — Community forums for your learners\u003cbr\u003e\n🎙️ \u003cb\u003ePodcasts\u003c/b\u003e — Audio content for on-the-go learning\u003cbr\u003e\n📊 \u003cb\u003eAnalytics\u003c/b\u003e — Track engagement and course performance\u003cbr\u003e\n🧊 \u003cb\u003ePlaygrounds\u003c/b\u003e — AI-generated interactive elements, simulations \u0026 diagrams\u003cbr\u003e\n💻 \u003cb\u003eCode\u003c/b\u003e — Real code execution with auto-grading in 30+ languages\u003cbr\u003e\n📋 \u003cb\u003eBoards\u003c/b\u003e — Real-time collaborative whiteboards\u003cbr\u003e\n🧠 \u003cb\u003eAI\u003c/b\u003e — Context-aware AI for learning \u0026 teaching\u003cbr\u003e\n🎓 \u003cb\u003eCertificates\u003c/b\u003e — Auto-generate certificates on course completion\u003cbr\u003e\n👥 \u003cb\u003eUser Groups\u003c/b\u003e — Organize learners and control access\u003cbr\u003e\n🔍 \u003cb\u003eSEO\u003c/b\u003e — Built-in SEO optimization with metadata, sitemaps \u0026 open graph\u003cbr\u003e\n🎨 \u003cb\u003eCustomization\u003c/b\u003e — Custom branding, landing pages \u0026 theming\u003cbr\u003e\n💳 \u003cb\u003ePayments (Enterprise)\u003c/b\u003e — Sell courses with no fees and no lock-in\u003cbr\u003e\n🔐 \u003cb\u003eSSO (Enterprise)\u003c/b\u003e — Single sign-on with OAuth providers\u003cbr\u003e\n🏢 \u003cb\u003eMulti-Org (Enterprise)\u003c/b\u003e — Run multiple organizations from a single instance\u003cbr\u003e\n\u003c/p\u003e\n\n## 🚀 Get Started\n\nLearnHouse has an official CLI that handles everything — self-hosting, updates, backups, and local development.\n\n### Self-host\n\n```bash\nnpx learnhouse@latest setup\n```\n\nThe setup wizard walks you through domain, database, admin account, and optional features. Once done, it generates all config files and starts your instance.\n\n```bash\nnpx learnhouse start       # Start services\nnpx learnhouse stop        # Stop services\nnpx learnhouse logs        # Stream logs\nnpx learnhouse backup      # Backup database\nnpx learnhouse doctor      # Diagnose issues\n```\n\n### Development\n\n```bash\ngit clone https://github.com/learnhouse/learnhouse.git\ncd learnhouse\nnpx learnhouse dev\n```\n\nThis spins up PostgreSQL and Redis, installs dependencies, and starts the API, Web, and Collab servers with hot reload.\n\n\u003e See the full [CLI documentation](apps/cli/README.md) for all commands and options.\n\n## 🛠️ Tech Stack\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://nextjs.org\"\u003e\u003cimg src=\"https://img.shields.io/badge/Next.js-000?style=flat\u0026logo=nextdotjs\u0026logoColor=white\" alt=\"Next.js\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://react.dev\"\u003e\u003cimg src=\"https://img.shields.io/badge/React-61DAFB?style=flat\u0026logo=react\u0026logoColor=black\" alt=\"React\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://www.typescriptlang.org\"\u003e\u003cimg src=\"https://img.shields.io/badge/TypeScript-3178C6?style=flat\u0026logo=typescript\u0026logoColor=white\" alt=\"TypeScript\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://tailwindcss.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/TailwindCSS-06B6D4?style=flat\u0026logo=tailwindcss\u0026logoColor=white\" alt=\"TailwindCSS\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://www.radix-ui.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/Radix_UI-161618?style=flat\u0026logo=radixui\u0026logoColor=white\" alt=\"Radix UI\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://tiptap.dev\"\u003e\u003cimg src=\"https://img.shields.io/badge/Tiptap-1a1a2e?style=flat\u0026logoColor=white\" alt=\"Tiptap\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://codemirror.net\"\u003e\u003cimg src=\"https://img.shields.io/badge/CodeMirror-D30707?style=flat\u0026logo=codemirror\u0026logoColor=white\" alt=\"CodeMirror\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://yjs.dev\"\u003e\u003cimg src=\"https://img.shields.io/badge/Yjs-6EEB83?style=flat\u0026logoColor=black\" alt=\"Yjs\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://fastapi.tiangolo.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/FastAPI-009688?style=flat\u0026logo=fastapi\u0026logoColor=white\" alt=\"FastAPI\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://www.python.org\"\u003e\u003cimg src=\"https://img.shields.io/badge/Python-3776AB?style=flat\u0026logo=python\u0026logoColor=white\" alt=\"Python\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://www.postgresql.org\"\u003e\u003cimg src=\"https://img.shields.io/badge/PostgreSQL-4169E1?style=flat\u0026logo=postgresql\u0026logoColor=white\" alt=\"PostgreSQL\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://redis.io\"\u003e\u003cimg src=\"https://img.shields.io/badge/Redis-DC382D?style=flat\u0026logo=redis\u0026logoColor=white\" alt=\"Redis\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://www.docker.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/Docker-2496ED?style=flat\u0026logo=docker\u0026logoColor=white\" alt=\"Docker\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://stripe.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/Stripe-635BFF?style=flat\u0026logo=stripe\u0026logoColor=white\" alt=\"Stripe\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://ai.google.dev\"\u003e\u003cimg src=\"https://img.shields.io/badge/Gemini-8E75B2?style=flat\u0026logo=googlegemini\u0026logoColor=white\" alt=\"Gemini\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://www.llamaindex.ai\"\u003e\u003cimg src=\"https://img.shields.io/badge/LlamaIndex-000?style=flat\u0026logoColor=white\" alt=\"LlamaIndex\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://aws.amazon.com/s3\"\u003e\u003cimg src=\"https://img.shields.io/badge/AWS_S3-569A31?style=flat\u0026logo=data:image/svg%2Bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0id2hpdGUiPjxwYXRoIGQ9Ik0xMiAyTDIgN3YxMGwxMCA1IDEwLTVWN0wxMiAyem0wIDIuMThMMTkuMTggNyAxMiA5LjgyIDQuODIgNyAxMiA0LjE4ek00IDguNjRsNyAzLjVWMTkuNWwtNy0zLjVWOC42NHptMTAgMTAuODZWMTIuMTRsNy0zLjV2Ny4zNmwtNyAzLjV6Ii8+PC9zdmc+\u0026logoColor=white\" alt=\"AWS S3\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://www.tinybird.co\"\u003e\u003cimg src=\"https://img.shields.io/badge/Tinybird-1A1A1A?style=flat\u0026logoColor=white\" alt=\"Tinybird\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## 📁 Project Structure\n\n| App | Path | Description | Technology | Used by |\n|-----|------|-------------|------------|---------|\n| **Web** | `apps/web` | Frontend application — dashboard, course player, editor, landing pages | Next.js, React, TailwindCSS, Tiptap | Teachers, Students, Admins |\n| **API** | `apps/api` | Backend REST API — auth, courses, payments, AI, analytics | FastAPI, Python, SQLModel, Alembic | Web, CLI, Collab |\n| **Collab** | `apps/collab` | Real-time collaboration server — live editing sync for courses \u0026 boards | Hocuspocus, Yjs, WebSocket | Web (editor, boards) |\n| **CLI** | `apps/cli` | Official CLI — setup wizard, dev environment, instance management | Commander, Node.js | Developers, Self-hosters |\n\n## 💬 Community\n\n- [Discord](https://discord.gg/CMyZjjYZ6x) — chat with the team and other users\n- [Documentation](https://docs.learnhouse.app) — guides and references\n\n## 🤝 Contributing\n\n```bash\ngit clone https://github.com/learnhouse/learnhouse.git\ncd learnhouse\nnpx learnhouse dev\n```\n\n- [Contributing Guide](CONTRIBUTING.md)\n- [Submit a bug](https://github.com/learnhouse/learnhouse/issues/new?assignees=\u0026labels=bug%2Ctriage\u0026projects=\u0026template=bug.yml\u0026title=%5BBug%5D%3A+)\n- [Good first issues](https://github.com/learnhouse/learnhouse/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)\n\n## 🔒 Security\n\nWe take the security of LearnHouse and the data entrusted to us seriously. If you discover a vulnerability, please email **security@learnhouse.app** — do not disclose it publicly until we've had a chance to investigate.\n\nPlease include a clear description, steps to reproduce, affected endpoints, and any relevant screenshots or proof-of-concept code. We will acknowledge your report, keep you informed, and credit you once resolved if you wish.\n\nSee our full [Security Policy](https://learnhouse.app/security) for details on our practices, scope, and responsible disclosure guidelines.\n\n## ✍️ Author \u0026 Maintainer\n\nSweave (Badr B.) — [@swve](https://github.com/swve)\n\n## 💜 A Word\n\nLearnHouse is made with 💜, from the UI to the features it is carefully designed to make students and teachers lives easier and make education software more enjoyable.\n\nThank you and have fun using/developing/testing LearnHouse !\n\n## 📄 License\n\n[AGPL-3.0](LICENSE) — Enterprise features are available under a separate Enterprise License.\n","funding_links":[],"categories":["ai","TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flearnhouse%2Flearnhouse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flearnhouse%2Flearnhouse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flearnhouse%2Flearnhouse/lists"}