Building Block View#
Whitebox Overall System#
C4Container
title Overview diagram for SQL-Train
SystemDb_Ext(pg-stud, "PG-Stud of University", "Database for all students")
ContainerDb(djangodb, "Database for Django")
Container(nginx, "Nginx")
Person(student, "Student")
Container(django_project, "sql-training", "backend", "Django+Ninja")
Component(spa, "React App", "frontend", "App for students")
System_Ext(lms, "LMS of University", "Moodle")
Rel(nginx, django_project, "Proxy")
Rel(django_project, djangodb, "Uses")
Rel(django_project, pg-stud, "Uses", "host trust")
Rel(student, lms, "Login")
Rel(student, nginx, "redirects and gives data", "HTTPS")
Rel(nginx, spa, "Serves", "HTTPS")
Rel(spa, django_project, "Uses API", "HTTPS/Session")
Motivation#
SQL-Train provides the student with SQL exercises. They can work on those on their own database located in the university. The authorization is done via LTI with the LMS of the university.
Contained Building Blocks
Frontend React Single Page Application
Backend Django project with Ninja API
The remaining containers are explained in the Deployment View.