Skip to content

Commit 019c6ea

Browse files
author
Nils Bars
committed
Clean up README to match current architecture
Fix typos, clarify service descriptions (frontend-proxy routing, SSH reverse proxy naming), and remove outdated wording.
1 parent 2561d61 commit 019c6ea

1 file changed

Lines changed: 9 additions & 9 deletions

File tree

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
## Remote Exercise Framework (REF)
2-
The REF framework intends to provide students with an interactive, practical learning environment: For pre-defined tasks, each student can work in an indvidiual Docker container with automated goal verification aiding their progress.
2+
The REF framework intends to provide students with an interactive, practical learning environment: For pre-defined tasks, each student can work in an individual Docker container with automated goal verification aiding their progress.
33
The framework consists of multiple components that have to be built the first time REF is set up and when it is updated. The framework heavily relies on Docker for the runtime environment itself as well as for deploying the different exercises to the students.
44

55
The following describes how to build REF, how to run it, and how to upgrade it. To learn more about creating new exercises, head to [exercises.md](./EXERCISES.md).
@@ -51,8 +51,8 @@ The Flask web app (`/`, `/admin/*`, `/api/*`), the Vue student SPA
5151
a single Caddy reverse proxy (`frontend-proxy/`) on host port 8000.
5252
Students go to `http://<host>:8000/spa/register` (or whichever landing
5353
page is configured); admins go to `http://<host>:8000/admin/` (which
54-
redirects to the exercise view). The SSH entry point for student
55-
containers is unchanged on port 2222.
54+
redirects to the exercise view). Student SSH connections go through the
55+
SSH reverse proxy on port 2222.
5656

5757
In production, `frontend-proxy` serves the Vue SPA as a static bundle
5858
that is baked into the image at `docker build` time via a multi-stage
@@ -186,14 +186,14 @@ After starting the application, the following services are running on the host:
186186
This services is the entry server for all SSH connections to the exercises. Based on the clients user name and the public key, incoming SSH connection are forwarded to a container of the respective exercise.
187187

188188
```
189-
Hostname: sshserver
189+
Hostname: ssh-reverse-proxy
190190
Port: 2222
191191
```
192192

193-
#### Webinterface
194-
The webinterface to manage the exercises and users. This endpoint is alow used by the student to register.
193+
#### Web Interface
194+
The web interface for managing exercises and users. Students also use it to register. All HTTP traffic is served through the `frontend-proxy` (Caddy) on port 8000, which reverse-proxies to the `web` (Flask) service internally.
195195
```
196-
Hostname: web
196+
Hostname: frontend-proxy (host-facing), web (internal Flask app)
197197
Port: 8000
198198
User: 0
199199
Password: See settings.yaml (admin.password)
@@ -203,7 +203,7 @@ Password: See settings.yaml (admin.password)
203203
The database used to store all information.
204204
```
205205
Hostname: db
206-
Port: Not expose to the host
206+
Port: Not exposed to the host
207207
User: ref
208208
Database name: ref
209209
Password: See settings.yaml (secrets.postgres_password)
@@ -216,4 +216,4 @@ The following features are disabled by default and can be enabled from the admin
216216
Allows students to be organized into named groups with a configurable maximum size. Students pick a group during registration, and admins can manage the available groups and reassign students afterwards. Enable via the `GROUPS_ENABLED` setting and configure the per-group capacity via `GROUP_SIZE`.
217217

218218
#### Scoreboard
219-
A public leaderboard at `/spa/scoreboard` that ranks students based on their exercise submissions using a Formula 1 style, time-weighted strategy. Exercises can be grouped into assignments. Enable via `SCOREBOARD_ENABLED`; optionally set `LANDING_PAGE` to `scoreboard` to use it as the default landing page.
219+
A public leaderboard at `/spa/scoreboard` that ranks students based on their exercise submissions. Exercises can be grouped into assignments. Enable via `SCOREBOARD_ENABLED`; optionally set `LANDING_PAGE` to `scoreboard` to use it as the default landing page.

0 commit comments

Comments
 (0)