{"id":46549449,"url":"https://github.com/exelearning/exelearning","last_synced_at":"2026-04-02T00:56:43.172Z","repository":{"id":295613020,"uuid":"979883170","full_name":"exelearning/exelearning","owner":"exelearning","description":"eXeLearning is an AGPL-licensed free/libre tool to create and publish open educational resources.","archived":false,"fork":false,"pushed_at":"2026-03-04T14:44:57.000Z","size":304626,"stargazers_count":119,"open_issues_count":86,"forks_count":21,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-03-04T14:48:22.716Z","etag":null,"topics":["educational","exelearning","hacktoberfest"],"latest_commit_sha":null,"homepage":"https://exelearning.net","language":"JavaScript","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/exelearning.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2025-05-08T08:10:19.000Z","updated_at":"2026-03-03T16:36:29.000Z","dependencies_parsed_at":"2025-05-26T13:45:05.439Z","dependency_job_id":"d6ef9350-a4c2-48c4-a61d-8189417fc978","html_url":"https://github.com/exelearning/exelearning","commit_stats":null,"previous_names":["exelearning/exelearning"],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/exelearning/exelearning","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exelearning%2Fexelearning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exelearning%2Fexelearning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exelearning%2Fexelearning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exelearning%2Fexelearning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exelearning","download_url":"https://codeload.github.com/exelearning/exelearning/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exelearning%2Fexelearning/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30206339,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T19:07:06.838Z","status":"online","status_checked_at":"2026-03-07T02:00:06.765Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["educational","exelearning","hacktoberfest"],"created_at":"2026-03-07T03:03:16.571Z","updated_at":"2026-04-02T00:56:43.158Z","avatar_url":"https://github.com/exelearning.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/exelearning/exelearning\"\u003e\n    \u003cimg src=\"public/images/logo_readme.png\" alt=\"eXeLearning Logo\" height=\"225\"\u003e\n  \u003c/a\u003e\n\n  \u003ch1 align=\"center\"\u003eeXeLearning\u003c/h1\u003e\n\n  \u003cp align=\"center\"\u003e\n    \u003cstrong\u003eeXeLearning\u003c/strong\u003e is an AGPL-licensed free/libre tool to create and publish open educational resources.\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/exelearning/exelearning\"\u003e\u003cstrong\u003eExplore the project »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/exelearning/exelearning/issues/new?labels=bug\"\u003eReport a Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/exelearning/exelearning/issues/new?labels=enhancement\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://codecov.io/gh/exelearning/exelearning\"\u003e\n    \u003cimg src=\"https://codecov.io/gh/exelearning/exelearning/graph/badge.svg\" alt=\"codecov\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## About the Project\n\neXeLearning is a free and open source authoring tool for creating interactive educational resources. It was originally developed within the eXeLearning.org project in New Zealand and, since 2010,it has been maintained and further developed by the eXeLearning.net project, led by the Spanish Ministry of Education, Vocational Training and Sports (MEFPD) through Cedec-INTEF.\n\nCurrently, the development of the code is carried out in a coordinated manner between the MEFPD and the regional administrations, ensuring its continuous evolution, the improvement of its architecture, and the incorporation of new features.\n\nThis version is built with modern technologies (Bun, Elysia, Kysely) and provides an accessible and up-to-date user interface for creating interactive educational content.\n\n### Key Features\n\n* Creation and edition of interactive educational content\n* Multiple iDevices (interactive elements)\n* Multilingual support\n* Exportation to various formats\n* Moodle integration\n* RESTful API built with [Elysia](https://elysiajs.com/)\n* Real-time collaborative editing powered by [Yjs](https://yjs.dev/) WebSocket\n* [Architecture Documentation](./doc/architecture.md)\n* Modern and accessible interface built with [Bootstrap](https://getbootstrap.com/)\n* Multiple authentication methods (Password, CAS, OpenID Connect)\n* Compatible with MySQL, PostgreSQL, and SQLite databases\n* Offline installers supported via [Electron](https://www.electronjs.org/) and [nativePHP](https://nativephp.com/)\n\n## Quick Start\n\n### Using Docker\n\n```bash\ndocker run --pull always -p 8080:8080 --name exelearning exelearning/exelearning:latest\n```\n\nThis will start eXeLearning at `http://localhost:8080` with the default credentials: `user@exelearning.net` / `1234`.\n\n### Local Development\n\nFirst install [Bun](https://bun.sh/) if you don't have it yet. Then:\n\n```bash\ngit clone https://github.com/exelearning/exelearning.git\ncd exelearning\nmake up-local\n```\n\nThis will install dependencies, build assets, and start eXeLearning at `http://localhost:8080` with hot reload.\n\nOffline installers for Linux, Windows and macOS are also available on the [Releases page](https://github.com/exelearning/exelearning/releases).\n\n## Deployment\n\nTo deploy eXeLearning in a production environment, see:\n\n- Overview: [doc/deployment.md](./doc/deployment.md)\n- Sample Compose files: [doc/deploy/README.md](./doc/deploy/README.md)\n- Upgrading from previous versions: [UPGRADE.md](./UPGRADE.md)\n\n## Development Environment\n\nSee [doc/development/environment.md](./doc/development/environment.md) for full setup instructions.\n\n```bash\ngit clone https://github.com/exelearning/exelearning.git\ncd exelearning\nmake up-local\n```\n\nThis will install dependencies, build assets, and start the development server at `http://localhost:8080` with hot reload.\n\nMore development tools, options, and real-time collaboration info are documented in the `doc/` folder. See also [Architecture Documentation](./doc/architecture.md).\nFor profiling and performance investigations in Electron and export/save flows, see [doc/development/profiling.md](./doc/development/profiling.md).\n\n\n## Usage\n\neXeLearning enables educators to:\n\n1. Create interactive educational projects\n2. Add different types of content using iDevices\n3. Structure content with a hierarchical index\n4. Export content for use in Moodle or other platforms\n5. Share and collaborate on educational resources\n\n## Internationalization\n\nThe project supports multiple languages using [i18n](https://www.npmjs.com/package/i18n). Currently available:\n\n* English (default)\n* Español\n* Català\n* Euskara\n* Galego\n* Valencià\n* Esperanto\n\nFor more information on translation management, see the [internationalization documentation](./doc/development/internationalization.md).\n\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\n1. Fork the project\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\nSee our [versioning guide](./doc/development/version-control.md) for details about our Git workflow.\n\n### Useful Makefile Commands\n\nThe project includes a Makefile to simplify development tasks:\n\n```\nmake up-local         # Start development server (installs deps + hot reload)\nmake up               # Start with Docker\nmake test-unit        # Run unit tests\nmake test-integration # Run integration tests\nmake test-frontend    # Run frontend tests (Vitest)\nmake test-e2e         # Run E2E tests (Playwright)\nmake lint             # Run linter\nmake fix              # Auto-fix linting issues\n```\n\nTo see all available commands, run:\n\n```\nmake help\n```\n\n## Known Issues\n\nSome legacy limitations and edge cases are documented in [KNOWN_ISSUES.md](KNOWN_ISSUES.md).\n\n## Documentation\n\nThe full project documentation is available in the [`doc`](./doc/index.md) directory\n\n## Contributors\n\n\u003ca href=\"https://github.com/exelearning/exelearning/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=exelearning/exelearning\" alt=\"Contributors\" /\u003e\n\u003c/a\u003e\n\n## License\n\nDistributed under the GNU AFFERO GENERAL PUBLIC LICENSE v3.0. See `LICENSE` for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexelearning%2Fexelearning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexelearning%2Fexelearning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexelearning%2Fexelearning/lists"}