Skip to content

Commit bc52203

Browse files
authored
Revise README for clarity and additional details
Updated README to enhance clarity and detail about the project and its C backend, including tech stack, purpose, features, and architecture overview. Added screenshots.
1 parent 5f6ace7 commit bc52203

1 file changed

Lines changed: 42 additions & 5 deletions

File tree

README.md

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,18 @@
11
# CodeJudge: v.1.0.0
2-
A simple, exam‑style code judge to help students practice and validate their programming logic.
2+
A simple, exam‑style code judge built with Flutter and a native C backend to help students practice and validate their programming logic.
3+
4+
## Tech Stack
5+
- **Native C backend:** code evaluation • compilation • output comparison
6+
- **Flutter (Dart):** UI • theming • localization • navigation
37

48
## Overview
59
- [Purpose & Benefits](#Purpose-&-Benefits)
610
- [Features](#Features)
711
- [Contribution-Guidelines](#Contribution-Guidelines)
12+
- *[Getting Started](#Getting-Started)*
13+
- *[Code Structure](#Code-Structure)*
14+
- *[Code Of Conduct](#Code-Of-Conduct)*
15+
- *[Attribution](#Attribution)*
816
- [Contact](#Contact)
917
- [Legal & Privacy](#Legal-&-Privacy)
1018
- *[License](#License)*
@@ -13,10 +21,10 @@ A simple, exam‑style code judge to help students practice and validate their p
1321
- *[Data Usage Notice](#Data-Usage-Notice)*
1422
- *[Security Notice](#Security-Notice)*
1523
- *[Disclaimer](#Disclaimer)*
24+
- [Screenshots](#Screenshots)
1625

1726
## Purpose & Benefits
18-
CodeJudge is designed to help computer science students practice and prepare for their programming exams. It simulates a real exam environment — without syntax highlighting, auto‑completion,
19-
or other IDE helpers. While it might help you to improve your skills, **there is no guarantee that it will improve your skills or grades**.
27+
CodeJudge is designed to help computer science students practice and prepare for their programming exams. It combines a modern Flutter UI with a high‑performance native C backend to simulate real exam conditions — without syntax highlighting, auto‑completion, or other IDE helpers. While it might help you to improve your skills, **there is no guarantee that it will improve your skills or grades**.
2028
All your code is stored locally on your device—**your data remains private and is never shared** by this app.
2129

2230
## Features
@@ -25,11 +33,16 @@ All your code is stored locally on your device—**your data remains private and
2533
- Exercises of varying difficulty
2634
- Training mode without any helpers
2735
- Fast and deterministic evaluation powered by a native C backend
36+
- Basic error messages by the backend
2837

2938
### Further Features
3039
- Light & dark mode support
3140
- Material You design guidelines
3241
- English & German translation
42+
- Responsive UI
43+
44+
## Installation & Support
45+
At the moment CodeJudge supports just Linux currently. Maybe another plattform will follow soon.
3346

3447
## Contribution Guidelines
3548
Everyone is welcome to participate in and adapt this project. All contributions and usage are governed by the [Apache 2.0 License](LICENSE).
@@ -40,6 +53,24 @@ Clone the repository:
4053
```bash
4154
git clone https://github.com/naibaf-1/CodeJudge.git
4255
```
56+
### Architecture Overview
57+
CodeJudge consists of two tightly integrated components:
58+
59+
1. **Flutter Frontend (Dart)**
60+
- User interface
61+
- Training mode
62+
- Localization & theming
63+
- Exercises
64+
65+
2. **Native C Backend**
66+
- Compiles and executes user code
67+
- Compares output with expected results
68+
- Returns deterministic responses
69+
70+
### Code Structure
71+
- `/lib` — Flutter UI (Dart)
72+
- `/native` — CodeJudge engine (C)
73+
4374
### Code Of Conduct
4475
Please note that this project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md).
4576
By participating, you are expected to uphold this code.
@@ -70,9 +101,15 @@ This app stores the code entered by the user locally on the device to process th
70101
No code is uploaded or transmitted to any server. All stored data is anonymous and used solely for functionality within the app.
71102

72103
### Security Notice
73-
This app generates a file containing the Code entered by the user. This file is necessary for the whole backend and it's overwritten as soon as the user enters Code using the same programming language.
104+
This app generates a file containing the code entered by the user. This file is necessary for the whole backend and it's overwritten as soon as the user enters code using the same programming language.
74105
While no personal data is collected or transmitted, users should be aware that unencrypted data may be accessible to other apps on the same device.
75106
To mitigate this risk, we recommend using devices with secure storage and keeping your system up to date. All data remains local and anonymous.
76107

77108
### Disclaimer
78-
This app was developed to help computer science students preparing for their exams written on paper or at least without helpers like syntax highlighting. This means that CodeJudge intentionally provides no helpers such as syntax highlighting or auto‑completion. Since this app depends on good exercises feel free to add or improve exercises!
109+
This app was developed to help computer science students preparing for their exams written on paper or at least without helpers like syntax highlighting. This means that CodeJudge intentionally provides no helpers such as syntax highlighting or auto‑completion. Since this app depends on good exercises, feel free to add or improve exercises!
110+
111+
## Screenshots
112+
|<img src="./assets/screenshots/Exercises.png" width="540"/> <br>**See all exercises**|<img src="./assets/screenshots/Informations_Overlay.png" width="540"/> <br>**See details**|
113+
|-------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------|
114+
| <img src="./assets/screenshots/Training_mode.png" width="540"/> <br><div align="center">**Train your skills**</div> | <img src="./assets/screenshots/Training_mode_Hint.png" width="540"/> <br><div align="center">**See hints**</div> |
115+
| <img src="./assets/screenshots/Settings.png" width="540"/> <br><div align="center">**Toggle the settings**</div> |

0 commit comments

Comments
 (0)