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

https://github.com/open-source-community/linquest


https://github.com/open-source-community/linquest

Last synced: 4 months ago
JSON representation

Awesome Lists containing this project

README

          

# Project Title: **"LinQuest"**
---

### Linux Adventure: Interactive Storytelling and Problem-Solving Tool for Learning Linux

### Overview
The idea is to build a storytelling-based interactive program where students are guided through a series of Linux modules in an engaging, scenario-driven format. Each module integrates into a larger narrative, and students solve creative, real-world problems by answering questions or completing small tasks to progress through the story.

This tool will make Linux concepts more fun and memorable while promoting critical thinking and practical problem-solving skills.

---

### Key Features

1. **Storytelling Framework**
- The story revolves around a character (e.g., a new Linux system administrator or a hacker trying to secure a vulnerable server) encountering challenges.
- Each Linux module is a **"chapter"** in the story, with challenges directly related to its concepts.
- The story evolves based on the user’s answers or choices, giving it a gamified and personalized feel.

2. **Question Types**

- **Scenario-Based Questions:** Present a situation where users apply Linux concepts to resolve issues.
- **Command Debugging:** Ask users to identify and fix errors in commands.
- **Hands-On Challenges:** Prompt users to type commands in a simulated or real Linux environment.
- **Multiple-Choice Questions (MCQs):** Creative, contextual questions based on the module.

3. **Hints & Learning Materials**
- Link back to the relevant section in the GitHub repository for hints or further reading.
- Provide optional hints for difficult questions.

---

### Modules

- **Module 1**: Git and GitHub
- **Module 2**: CLI & Linux File System, Getting Help, Viewing Files
- **Module 3**: Creating Links & Finding Files
- **Module 4**: File Compression and Archiving
- **Module 5**: Output Redirection
- **Module 6**: Dealing with Users & Groups
- **Module 7**: Files Permissions & Ownership
- **Module 8**: Text Processing
- **Module 9**: Processes
- **Module 10**: Package Management
- **Module 11**: Shell Scripting using Bash

The system must have questions for **each module**, and you can mix some modules together as a bonus.

---
### Question Examples by Module

#### 1. **Boot Process**
**Scenario:** Your server doesn’t boot up correctly, and you’re stuck in GRUB. Which steps will you take to identify and fix the issue?
**Question:** Which GRUB command should you use to list available boot entries?
- `a. ls`
- `b. boot`
- `c. insmod`
- `d. set root`

---

#### 2. **CLI & Linux File System**
**Scenario:** You’ve been hired as a Linux admin, and your manager wants you to find out how much disk space is used by specific directories.
**Question:** Write the command to display the size of all directories in the `/var/log` folder.

---

#### 4. **File Permissions & Ownership**
**Scenario:** You’re securing a shared directory so that only members of the `dev` group can access it.
**Question:** Write the command to change the directory ownership to the `dev` group and give group read/write permissions only.

---

#### 5. **Processes**
**Scenario:** A rogue process is consuming all CPU resources on your server. You need to identify and terminate it.
**Question:** Write the command to:
1. List all running processes.
2. Kill the process with the highest CPU usage.

---

### Technology Stack

- **Version Control:** Git and GitHub.

---

### Workflow

- Determined by the team leader & Supervisor.

---

### Deliverables

1. **GitHub Repository:**
- A storytelling program where users can learn Linux through scenarios and questions.
- Well-documented with setup instructions, contribution guidelines.

---

### Why This Idea?

- Combines storytelling and practical problem-solving to teach Linux concepts.
- Directly tied to committee’s existing GitHub repository(BeRoot).