{"id":46191708,"url":"https://github.com/digital-learning-gmbh/educa-lrs","last_synced_at":"2026-03-03T00:47:12.304Z","repository":{"id":270401420,"uuid":"910241362","full_name":"digital-learning-gmbh/educa-lrs","owner":"digital-learning-gmbh","description":"educa LRS is a robust backend system designed to collect, store, and manage xAPI-compliant learning records. It provides a scalable solution for tracking learning activities, supporting seamless integration with learning systems.","archived":false,"fork":false,"pushed_at":"2025-11-13T13:38:31.000Z","size":505,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-13T15:25:49.628Z","etag":null,"topics":["laravel","learning-analytics","learning-record-store","lrs","php"],"latest_commit_sha":null,"homepage":"https://digitallearning.gmbh/educa/","language":"PHP","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/digital-learning-gmbh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2024-12-30T19:10:27.000Z","updated_at":"2025-11-13T13:38:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"c428220a-4948-4914-9dec-4f185b54ed76","html_url":"https://github.com/digital-learning-gmbh/educa-lrs","commit_stats":null,"previous_names":["digital-learning-gmbh/educa-lrs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/digital-learning-gmbh/educa-lrs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digital-learning-gmbh%2Feduca-lrs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digital-learning-gmbh%2Feduca-lrs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digital-learning-gmbh%2Feduca-lrs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digital-learning-gmbh%2Feduca-lrs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/digital-learning-gmbh","download_url":"https://codeload.github.com/digital-learning-gmbh/educa-lrs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digital-learning-gmbh%2Feduca-lrs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30028156,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T00:31:48.536Z","status":"ssl_error","status_checked_at":"2026-03-03T00:30:56.176Z","response_time":60,"last_error":"SSL_read: 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":["laravel","learning-analytics","learning-record-store","lrs","php"],"created_at":"2026-03-03T00:47:10.103Z","updated_at":"2026-03-03T00:47:12.289Z","avatar_url":"https://github.com/digital-learning-gmbh.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# educa Learning Record Store (LRS)\n\neduca LRS is a robust backend system designed to collect, store, and manage **xAPI-compliant learning records**. It provides a scalable solution for tracking learning activities, supporting seamless integration with learning systems.\n\n![system dashboard](docs/cover.png)\n\n## Technical Features\n\n- **Actors**: Tracks individuals or systems performing actions, securely stored in the database.\n- **Verbs**: Defines the actions performed (e.g., \"completed\", \"viewed\"), dynamically created and validated in compliance with xAPI standards.\n- **Objects**: Represents learning content or resources, such as courses, modules, videos, or assessments.\n- **Statements**: Stores complete xAPI-compliant statements with actors, verbs, objects, and optional fields like context and results.\n- **Health Endpoint**: A Prometheus-compatible endpoint (`/up`) for monitoring system status and database connectivity.\n- **Database Migration**: Automatically migrates the database schema during the initial setup.\n- **Swagger Documentation**: API documentation is available at `/api/documentation`.\n\n## Swagger Documentation\n\nSwagger documentation is an integral part of educa LRS, providing developers with a detailed and interactive view of all available API endpoints. It includes descriptions of request parameters, expected responses, and example payloads to ensure smooth integration. The Swagger UI can be accessed at `/api/documentation`.\n\nVisit [http://localhost/api/documentation](http://localhost/api/documentation) after setting up the application to explore the API.\n\n## Available Endpoints\n\n| Endpoint          | Description                                    |\n|-------------------|------------------------------------------------|\n| `/up`             | Provides the system's health status for monitoring purposes. |\n| `/api/actors`     | Manage actors within the system.               |\n| `/api/verbs`      | Dynamically manage action verbs.               |\n| `/api/objects`    | Manage learning objects like courses and resources. |\n| `/api/statements` | Submit and query xAPI statements.              |\n| `/api/documentation` | Access detailed Swagger API documentation.   |\n\n## Running educa LRS with Docker Compose\n\nThe project includes a `docker-compose.yml` file for setting up and running the application using Docker.\n\n### Requirements\n\n- Docker\n- Docker Compose\n\n### Steps to Run\n\n1. **Clone the repository:**\n   ```bash\n   git clone https://github.com/your-username/educa-lrs.git\n   cd educa-lrs\n   ```\n\n2. **Navigate to the `sample` directory:**\n   ```bash\n   cd sample\n   ```\n\n3. **Start the containers:**\n   ```bash\n   docker-compose up -d\n   ```\n\n4. **Access the application:**\n   - The application will be available at [http://localhost](http://localhost).\n   - The swagger documentation can be accessed at [http://localhost/api/documentation](http://localhost/api/documentation)\n\n5. **Stop the containers:**\n   ```bash\n   docker-compose down\n   ```\n\n### Docker Compose Services\n\n- **`educa`**: The educa LRS System\n- **`db`**: The MySQL database container.\n\n### Customization\n\nYou can customize the database credentials and ports in the `docker-compose.yml` file to suit your environment.\n\n## Getting Started\n\nTo start using educa LRS:\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/your-username/educa-lrs.git\n   cd educa-lrs/educa\n   ```\n\n2. Install dependencies:\n   ```bash\n   composer install\n   ```\n\n3. Set up the `.env` file with your database configuration.\n\n4. Run the migrations:\n   ```bash\n   php artisan migrate\n   ```\n\n5. Serve the application:\n   ```bash\n   php artisan serve\n   ```\n\n6. Visit the application in your browser: [http://127.0.0.1:8000](http://127.0.0.1:8000).\n\n## Database Statistics\n\neduca LRS dynamically tracks key metrics to help you understand your data:\n- **Total Actors**: The number of individuals or systems tracked.\n- **Total Verbs**: The total actions available in the system.\n- **Total Objects**: Count of learning objects managed by the LRS.\n- **Total Statements**: The total xAPI statements stored.\n\n## License\n\nThis project is licensed under the [AGPL License](LICENSE).\n\n---\n\neduca LRS provides a strong foundation for xAPI-based learning systems. Start tracking learning records today!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigital-learning-gmbh%2Feduca-lrs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigital-learning-gmbh%2Feduca-lrs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigital-learning-gmbh%2Feduca-lrs/lists"}