hochschule-augsburg / SQL-Train

SQL-Train is a learning platform created by students for students, where you can execute and solve SQL tasks directly in your browser. The Tool can be integrated in to LMSs via LTI.

Home Page:https://hochschule-augsburg.github.io/SQL-Train/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Logo
SQL-Train

SQL Training LTI Tool

SQL-Train is a learning platform created by students for students, where you can execute and solve SQL tasks directly in your browser. The Tool can be integrated in to LMSs via LTI (Learning Tools Interoperability).

This project was part of the summer term projects 2023 of the Augsburg Technological University of Applied Sciences1 and was supervised by Prof. Dr. Matthias Kolonko.

Screenshot
Screenshot
SQL-Train_Tutorial_.Short_Video.mp4

Get Started

Version Compatibility

Python Node Libpq
>=3.9 >=16 >=15

Setup

npm install --prefix frontend/
npm run build --prefix frontend/
python -m pip install -r requirements.txt

Configuration

Create an .env file and set all the variable from .env-testing. Copy config.json.example to config.json and set values if needed.

Create Database Schema

python manage.py makemigrations
python manage.py migrate

Load Example Data

Unfortunately we cannot release the exercises from the internal gitlab submodule because we do not have the copyright.

In order to populate the website with exercises, some example data has been provided that can be loaded into the database.

cp example_exercises/* exercises_data/ # copy the exercises to the MEDIA_ROOT
python manage.py loaddata exercises_data/*.yaml # load the exercises

Create Admin Account

To use the website locally, you need to create a superuser (admin) account that will allow you to manage the database.

python manage.py createsuperuser

Start Application

python manage.py runserver

After launching the frontend for the first time, you need to log in to http://127.0.0.1:8000/admin using the superuser account you just created in order to establish a connection to the website. Then you can use the app at the http://127.0.0.1:8000/.

See here for deployment in production.

Features

  • Authentication via LTI
  • Support for all full DML and DDL
  • I18n
  • User-friendly, clean and modern UI

Contributing

The project was a cross-semester project at the Augsburg Technological University of Applied Sciences. The members of the project were the following members

Nicolas Bota
Marcel Geiger
Florian Paul
Rajbir Singh
Niklas Sirch
Jan Swiridow
Duc Minh Vu
Mike Wegele

Thank you for considering contributing to our project! We welcome any suggestions, bug reports, or feature requests. Please feel free to submit a pull request or open an issue on our Github repository.

Contributing Guidelines

Before submitting a pull request, please make sure to

  • Follow the existing coding style and naming conventions
  • Write clear and concise commit messages
  • Provide test coverage for any new features or changes

Thanks

We would like to express our thanks to Sabine Müllenbach from TH Augsburg for providing the concept of our tool in the project repDB, which has provided students with an valuable learning tool.

We are also grateful to the creators of Hyperchalk for their open source code contribution in developing the LTI Advantage 1.3 automatic registration. Thank you very much.

Licenses

This work is licensed under multiple licences. Because keeping this section up-to-date is challenging, here is a brief summary as of June 2023:

  • All original source code is licensed under GPL-3.0-or-later.
  • The Logo contains the iconic face group of the logo of the TH Augsburg1 and is licensed under CC-BY-ND-4.0
  • All documentation, images and example exercises are licensed under CC-BY-SA-4.0.
  • All insignificant file such as configs are licensed under CC0-1.0.
  • The code borrowed from Hyperchalk is licensed under GPL-3.0 For more accurate information, check the individual files.
  • The documentation is based on arc42 template, originally created by Gernot Starke and Peter Hruschka, which can be found here. It has been altered to fit our needs. arc42 is licensed under CC-BY-SA-4.0.

Footnotes

  1. Imprint of the TH Augsburg: Imprint 2

About

SQL-Train is a learning platform created by students for students, where you can execute and solve SQL tasks directly in your browser. The Tool can be integrated in to LMSs via LTI.

https://hochschule-augsburg.github.io/SQL-Train/

License:GNU General Public License v3.0


Languages

Language:TypeScript 67.4%Language:Python 26.5%Language:HTML 2.8%Language:Shell 1.6%Language:CSS 1.1%Language:JavaScript 0.3%Language:Dockerfile 0.3%