An open API service indexing awesome lists of open source software.

https://github.com/fbn776/checkio

Checkio - A tool that not only tests your code but also suggests improvements and error fixes, making lab evaluations smarter and faster.
https://github.com/fbn776/checkio

evaluation ktu lab mini-project

Last synced: about 1 year ago
JSON representation

Checkio - A tool that not only tests your code but also suggests improvements and error fixes, making lab evaluations smarter and faster.

Awesome Lists containing this project

README

          

Checkio - cover photo

# Checkio - Automated Code Testing Tool

CheckIO is a **test case execution tool** designed for **students and faculty**. It allows users to create test cases, run programs against a specified testcase. The tool provides insights and suggestions for failed test cases, helping users to debug their code efficiently.

This project is developed as part of our **KTU S6 Mini Project**.

---

## ๐Ÿš€ Features
- **CLI Interface** โ€“ Easily run programs against a specified testcase, compile and run in a single command
- **Web Interface** โ€“ The admins or faculty can add, view, and evaluate testcases.
- **Error Suggestions** โ€“ Provides insights and fixes for faulty programs.
- **Find Seg Faults** - `analyze` gives you where seg faults occur in a C code.
- **Test Case Management** โ€“ Create, edit, and delete test cases with ease.

---

## ๐Ÿ› ๏ธ Technology Used
- **Python** โ€“ Core logic and backend.
- **Flask** โ€“ Web server for API and web-based testing.
- **React** โ€“ Frontend for the web interface.
- **SQLite** โ€“ Lightweight database for storing test cases.

---

## ๐Ÿ”— GitHub Repository
[๐Ÿ”— CheckIO GitHub Repo](https://github.com/fbn776/Checkio)

---

# Installation
1. Clone the repository
```bash
git clone
```
Or download the zip file and extract it.
2. Change the directory to the project folder
```bash
cd
```
3. Install the dependencies
```bash
uv pip install -e .
```
4. Run the project
```bash
uv run python3 src/main.py
```

For a more detailed installation guide, refer to [setup](docs/setup.md).

---

## ๐Ÿค Collaborators
- **Abhiram Ashok** ([@abhi5455](https://github.com/abhi5455))
- **Aysha Naurin** ([@Aysha022](https://github.com/Aysha022)
- **Febin Nelson P** ([@fbn776](https://github.com/fbn776))
- **Sreelakshmi K** ([@SreelakshmiKSudheer](https://github.com/SreelakshmiKSudheer))

---

## ๐Ÿ“ธ Screenshots

๐Ÿ’ป Terminal Interface

- **Checkio commands**

![Checkio Commands](docs/images/checkio-terminal.png)

- **Creating a test case from terminal**

![Create Test Case](docs/images/terminal-create-testcase.png)

- **Running a C file against test cases**

![Run C File](docs/images/terminal-run-add-c.png)

๐ŸŒ Web Interface

- **Homepage - About Checkio**

![Web About](docs/images/web-about.png)

- **Installation Guide Section**

![Web Installation](docs/images/web-about-installation.png)

- **User Guide Overview**

![Web User Guide](docs/images/web-about-userguide.png)

- **Command Reference**

![Web Commands](docs/images/web-about-commands.png)

๐Ÿงช Web: Creating & Managing Test Cases

- **Create a new test case**

![Web Create Testcase](docs/images/web-create-testcase.png)

- **View all test cases**

![Web View Testcase](docs/images/web-view-testcase.png)

- **Testcase details**

![Web View Testcase Detail](docs/images/web-view-testcase-detail.png)

๐Ÿ“Š Web: Evaluation & Submissions

- **Evaluate a submission**

![Web Eval](docs/images/web-eval.png)

- **Detailed output of evaluation**

![Web Eval More](docs/images/web-eval-more.png)

- **View submission details**

![Web Submission Details](docs/images/web-submission-details.png)

โš™๏ธ Web: Settings

- **Change app settings from web**

![Web Settings](docs/images/web-settings.png)

---

## ๐Ÿ“ Notes
- The project is in **active development**, and contributions are welcome.
- Future plans include **support for multiple programming languages**.
- Bugs or issues? Report them in the **GitHub Issues section**.