The goal of the project "Exploratory Learning Analytics toolkit for Students" is to develop a platform for students of the University of Duisburg-Essen to support learners in learning activities. The platform provides a collection of Learning Analytics applications developed by students for students. The first version of ELAS includes the best projects from the previous iterations of the Learning Analytic (LA), Advanced Web Technologies (AWT), and Learning Analytics and Visual Analytics (LAVA) courses offered at the Social Computing Group, where different Learning Analytics applications were developed as part of student projects.
- TODO
- Production: elas-official.soco.ude.systems (latest release)
- Preview: edge.elas-official.soco.ude.systems (branch
main)
docker compose up
Download and install the following software
- OpenJDK 21 on Ubuntu or Windows
- Maven (latest) on Ubuntu or Windows
- Python (v3.10.10) on Ubuntu using source or on Windows
- Node.js (v18.12.1) on Ubuntu or Windows
- MongoDB Community Server (latest) on Ubuntu or Windows. Additionally, install MongoDB Compass on Ubuntu or Windows
- Neo4j Desktop (Neo4j v5.12.0) on Ubuntu or on Windows
- Git on Ubuntu or Windows
- Github Desktop on Ubuntu or Windows
- Code Editor
- Postman on Ubuntu or Windows
- Redis (latest) on Ubuntu or Windows
-
Using your file explorer, go inside the directory
backend/1-service-registry. -
Open a command prompt/terminal in the
service-registrydirectory with administration rights -
Run the following command to package the application into a jar file.
mvn clean package
-
Run the following command to start the application (every time when you want to start the server).
set HOST=localhost
java -jar target/ServiceRegistry.jar
-
Navigate to the
backend/2-api-gatewaydirectory using your file explorer. -
Open a command prompt/terminal in the
service-registrydirectory (with administration rights for Windows users) -
Run the following command to package the application into a jar file (only once).
mvn clean package
-
Run the following command to start the application (every time when you want to start the server).
set SERVICE_REGISTRY_URL=http://localhost:8761/eureka/
set HOST=localhost
java -jar target/ApiGateway.jar
-
Navigate to the
backend/3-authdirectory using your file explorer.- Create a new file named
.envwithin this directory. - Locate the
example.envfile in the samebackend/3-authdirectory and open it. - Copy the entire content of the
example.envfile. - Now, open the newly created
.envfile and paste the copied content inside. - (Optional) Feel free to modify the values of the variables in the
.envfile according to your requirements.
- Create a new file named
-
Open a command prompt/terminal in the
backend/3-authdirectory (with administration rights for Windows users) -
Set up a Python virtual environment on Windows, follow these steps:
-
Install
pipenv(only once)pip install pipenv
-
Install required packages (only once)
pipenv install
-
Activate the virtual environment (every time when you want to start the server)
pipenv shell
(Optional) To check the location of your Python virtual environment, type the following command in your command prompt
pipenv --venv
-
-
Before running the Django server, ensure that your database is up to date. Run the following commands to perform migrations
-
Create migrations (only once)
python manage.py makemigrations
-
Apply migrations
python manage.py migrate
Note: Delete the db.sqlite3 file if it exists; it will be recreated after successful migrations. Run migrations only when you've made changes to the relational database models.
-
-
Run the Django server
python manage.py runserver
By following these steps, your Python virtual environment will be set up, the database will be migrated, and the Django server will be running and ready for development.
-
Navigate to the
backend/4-e3selectordirectory using your file explorer.- Create a new file named
.envwithin this directory. - Locate the
example.envfile in the samebackend/4-e3selectordirectory and open it. - Copy the entire content of the
example.envfile. - Now, open the newly created
.envfile and paste the copied content inside. - (Optional) Feel free to modify the values of the variables in the
.envfile according to your requirements.
- Create a new file named
-
Open a command prompt/terminal in the
backend/4-e3selectordirectory (with administration rights for Windows users) -
Set up a Python virtual environment on Windows, follow these steps:
-
Install
pipenv(only once)pip install pipenv
-
Install required packages (only once)
pipenv install
-
Activate the virtual environment (every time when you want to start the server)
pipenv shell
(Optional) To check the location of your Python virtual environment, type the following command in your command prompt
pipenv --venv
-
-
Before running the Django server, ensure that your database is up to date. Run the following commands to perform migrations
-
Create migrations (only once)
python manage.py makemigrations
-
Apply migrations
python manage.py migrate
Note: Delete the db.sqlite3 file if it exists; it will be recreated after successful migrations. Run migrations only when you've made changes to the relational database models.
-
-
Run the Django server
python manage.py runserver
By following these steps, your Python virtual environment will be set up, the database will be migrated, and the Django server will be running and ready for development.
-
Run the
celeryworker command in a separate terminal if you are using Linux or Windows with at least more than 4 corescelery -A server worker --concurrency=4 -l info -P eventlet
Use the following command to run the celery worker if you are using Windows with less than 4 cores:
celery -A server worker -l info -P eventlet
-
(Optional) Run
flowerto monitor the celery workerflower -A server --port=5555
-
Navigate to the
backend/5-studycompassdirectory using your file explorer.- Create a new file named
.envwithin this directory. - Locate the
example.envfile in the samebackend/5-studycompassdirectory and open it. - Copy the entire content of the
example.envfile. - Now, open the newly created
.envfile and paste the copied content inside. - (Optional) Feel free to modify the values of the variables in the
.envfile according to your requirements.
- Create a new file named
-
Open a command prompt/terminal in the
backend/5-studycompassdirectory (with administration rights for Windows users) -
Set up a Python virtual environment on Windows, follow these steps:
-
Install
pipenv(only once)pip install pipenv
-
Install required packages (only once)
pipenv install
-
Activate the virtual environment (every time when you want to start the server)
pipenv shell
(Optional) To check the location of your Python virtual environment, type the following command in your command prompt
pipenv --venv
-
-
Before running the Django server, ensure that your database is up to date. Run the following commands to perform migrations
-
Create migrations (only once)
python manage.py makemigrations
-
Apply migrations
python manage.py migrate
Note: Delete the db.sqlite3 file if it exists; it will be recreated after successful migrations. Run migrations only when you've made changes to the relational database models.
-
-
Run the Django server
python manage.py runserver
By following these steps, your Python virtual environment will be set up, the database will be migrated, and the Django server will be running and ready for development.
-
Run the
celeryworker command in a separate command prompt/terminal if you are using Linux with at least more than 4 corescelery -A server worker --concurrency=4 -l info -P eventlet
Use the following command to run the celery worker if you are using Windows:
celery -A server worker -l info -P eventlet
-
(Optional) Run
flowerto monitor the celery workerflower -A server --port=5555
- TODO
-
Navigate to the
backend/7-notebotdirectory using your file explorer.- Create a new file named
.envwithin this directory. - Locate the
example.envfile in the samebackend/7-notebotdirectory and open it. - Copy the entire content of the
example.envfile. - Now, open the newly created
.envfile and paste the copied content inside. - (Optional) Feel free to modify the values of the variables in the
.envfile according to your requirements.
- Create a new file named
-
Open a command prompt/terminal in the
backend/7-notebotdirectory (with administration rights for Windows users) -
To install Node packages, enter the following command in your command prompt or terminal:
npm ci
In case you encounter issues with the npm ci command, you can try either of the following commands:
npm install
OR
npm install --force
Please exercise caution with
npm installandnpm install --forceas they will delete existing node packages, install new ones, and update thepackage-lock.jsonfile. Be careful not to push changes to thepackage-lock.jsonfile. -
After successfully installing the packages, use the following command to start the server:
npm run watch:dev
-
To stop the server, simply press
Ctrl + Cinside the command prompt/terminal.
-
Navigate to the
frontenddirectory using your file explorer.- Create a new file named
.envwithin this directory. - Locate the
example.envfile in the samefrontenddirectory and open it. - Copy the entire content of the
example.envfile. - Now, open the newly created
.envfile and paste the copied content inside. - (Optional) Feel free to modify the values of the variables in the
.envfile according to your requirements.
- Create a new file named
-
Open a command prompt/terminal in the
frontenddirectory (with administration rights for Windows users) -
To install Node packages, enter the following command in your command prompt or terminal:
npm ci
In case you encounter issues with the npm ci command, you can try either of the following commands:
npm install
OR
npm install --force
Please exercise caution with
npm installandnpm install --forceas they will delete existing node packages, install new ones, and update thepackage-lock.jsonfile. Be careful not to push changes to thepackage-lock.jsonfile. -
After successfully installing the packages, use the following command to start the server:
npm start
-
The server will run at http://localhost:8080
-
To stop the server, simply press
Ctrl + Cinside the command prompt/terminal.