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.
- Actors: Tracks individuals or systems performing actions, securely stored in the database.
- Verbs: Defines the actions performed (e.g., "completed", "viewed"), dynamically created and validated in compliance with xAPI standards.
- Objects: Represents learning content or resources, such as courses, modules, videos, or assessments.
- Statements: Stores complete xAPI-compliant statements with actors, verbs, objects, and optional fields like context and results.
- Health Endpoint: A Prometheus-compatible endpoint (
/up
) for monitoring system status and database connectivity. - Database Migration: Automatically migrates the database schema during the initial setup.
- Swagger Documentation: API documentation is available at
/api/documentation
.
Swagger 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
.
Visit http://localhost/api/documentation after setting up the application to explore the API.
Endpoint | Description |
---|---|
/up |
Provides the system's health status for monitoring purposes. |
/api/actors |
Manage actors within the system. |
/api/verbs |
Dynamically manage action verbs. |
/api/objects |
Manage learning objects like courses and resources. |
/api/statements |
Submit and query xAPI statements. |
/api/documentation |
Access detailed Swagger API documentation. |
The project includes a docker-compose.yml
file for setting up and running the application using Docker.
- Docker
- Docker Compose
-
Clone the repository:
git clone https://github.com/your-username/educa-lrs.git cd educa-lrs
-
Navigate to the
sample
directory:cd sample
-
Start the containers:
docker-compose up -d
-
Access the application:
- The application will be available at http://localhost.
- The swagger documentation can be accessed at http://localhost/api/documentation
-
Stop the containers:
docker-compose down
educa
: The educa LRS Systemdb
: The MySQL database container.
You can customize the database credentials and ports in the docker-compose.yml
file to suit your environment.
To start using educa LRS:
-
Clone the repository:
git clone https://github.com/your-username/educa-lrs.git cd educa-lrs/educa
-
Install dependencies:
composer install
-
Set up the
.env
file with your database configuration. -
Run the migrations:
php artisan migrate
-
Serve the application:
php artisan serve
-
Visit the application in your browser: http://127.0.0.1:8000.
educa LRS dynamically tracks key metrics to help you understand your data:
- Total Actors: The number of individuals or systems tracked.
- Total Verbs: The total actions available in the system.
- Total Objects: Count of learning objects managed by the LRS.
- Total Statements: The total xAPI statements stored.
This project is licensed under the AGPL License.
educa LRS provides a strong foundation for xAPI-based learning systems. Start tracking learning records today!