You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+26-2Lines changed: 26 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,23 @@
1
1
# CodeGrader (CG)
2
2
3
3
This repository contains the source code for the CodeGrader.
4
-
The CodeGrader is an application with User Management and automatic Code Execution and evaluation.
4
+
The CodeGrader is an application that provides functionality for automatic Code Grading (Execution and Evaluation in a sandbox environment) with User Management.
5
+
6
+
#### Main Use-Cases
7
+
- Create Tasks with Attachments for Users to download
8
+
- Create and manage Users and their specific Access to Tasks
9
+
- Let Users upload their Solution to tasks
10
+
- Automatically execute and test the submitted Code
11
+
- Provide Administrators and Users with Feedback to the Submission
12
+
13
+
#### Features
14
+
- Gamification for the Users after submitting Solution
15
+
- Multi-Client Capability for running multiple classes or even schools on one instance of the CodeGrader
16
+
- High-Avaiability ready
17
+
- automated deployment with ansible
18
+
- stable and easy to maintain
19
+
20
+
With the solution to these Use-Cases the CodeGrader is a good solution for any computer science teacher who wants to provide theirs students with the possibility for lots of hands-on training without long manual and repetitve correction work required.
5
21
6
22
For more detailed information on how to setup this Project please visit the doc Folder.
7
23
@@ -10,8 +26,16 @@ This project is created as a Bachelor Thesis at the University of Bern in 2023/2
10
26
## Installation / Deployment
11
27
For running the application you can find a detailed Guid in the doc folder for a complete guide.
12
28
29
+
The Deployment has been tested on Linux Debian 11 and Linux Debian 12.
30
+
31
+
## Technologies
32
+
The CodeGrader is implemented using multiple technologies.
33
+
34
+
The main functionality is written in Python with Flask and HTML Templates, Bootstrap and Javascript for the frontend.
35
+
36
+
13
37
## Help
14
-
If you have any questions about the application, feel free to get in touch. \
38
+
If you have any questions about the application and its features, feel free to get in touch. \
Within this fodler you will find the documentation for the backend.
4
+
5
+
## API
6
+
The API provides the main Functionality and implements the access via REST API to the Data in the Database.
7
+
It is implemented using Python and Flask.
8
+
9
+
## Database
10
+
The Database used in testing is PostgreSQL. The Datamodel is automatically created with SQLAlchemy.
11
+
12
+
## Execution Service
13
+
The Execution Service executes a Script in a secured environment using LXC. The controller for the LXC is also written in Python.
14
+
15
+
## Evaluation Service
16
+
After the execution has finished the Evaluation Service compares the expected output of the Submission with the correct output defined by the uploaded Solution.
0 commit comments