Skip to content

Commit 1390af5

Browse files
authored
Merge pull request #50 from ooemperor/dev
Updating Readme and doc for release 1.0
2 parents 1627f8f + 67ae050 commit 1390af5

File tree

3 files changed

+51
-2
lines changed

3 files changed

+51
-2
lines changed

README.md

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,23 @@
11
# CodeGrader (CG)
22

33
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.
521

622
For more detailed information on how to setup this Project please visit the doc Folder.
723

@@ -10,8 +26,16 @@ This project is created as a Bachelor Thesis at the University of Bern in 2023/2
1026
## Installation / Deployment
1127
For running the application you can find a detailed Guid in the doc folder for a complete guide.
1228

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+
1337
## 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. \
1539
E-Mail: [michael.kaiser@emplabs.ch](mailto:michael.kaiser@emplabs.ch)
1640

1741
## License

doc/backend/README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Backend Documentation
2+
3+
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.

doc/frontend/README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Frontend Documentation
2+
3+
Within this fodler you will find the documentation for the frontend.
4+
5+
## Admin Frontend
6+
The Admin frontend is only accessible for admin users for creating users, tasks and more.
7+
8+
## User Frontend
9+
The User frontend is where the normal users can log in and make submissions to be executed and get their Feedback.

0 commit comments

Comments
 (0)