Some checks are pending
Python application / build (push) Waiting to run
RHEL Learning Script
This project provides a script to manage RHEL learning sessions, including a timer, random questions, and XP tracking.
Directory Structure
rhel_learning
├── src
│ ├── main.py
│ ├── assets
│ │ ├── xp.txt
│ │ ├── level.txt
│ │ ├── session.log
│ │ ├── questions.txt
│ │ └── total_time.txt
# RHEL Learning Quiz App
This is a Python-based quiz application for learning Red Hat Enterprise Linux (RHEL) concepts, including scenario-based RHCSA questions. The app tracks your XP, level, and total study time, and provides explanations for each answer to help you learn more effectively.
## Features
- Scenario-based RHCSA questions (imported from `assets/questions.txt`)
- XP and level tracking (XP: +10 for correct, -5 for incorrect; level up every 100 XP)
- Total study time tracking
- Explanations shown after each answer (7th field in questions)
- SQLite database for persistent stats, session logs, and questions
- GUI built with Tkinter
- Automatic migration from legacy text files to SQLite
- All questions shown in each session, in random order
## Getting Started
1. **Install dependencies:**
```sh
pip install -r requirements.txt
-
Add your questions:
- Edit
assets/questions.txtwith your questions in the format:Category|Question|Answer1|Answer2|Answer3|CorrectIndex|ExplanationCorrectIndexis 1-based (1, 2, or 3)Explanationis a short explanation shown after each answer
- Edit
-
Run the app:
python main.py
How It Works
- On first run, the app migrates your XP, level, and total time from text files to SQLite (if present).
- Questions are imported from
assets/questions.txtinto the SQLite database, including explanations. - All questions are shuffled and presented in a random order each session.
- After each answer, an explanation is shown to help you learn.
- XP and level are updated based on your answers (correct: +10 XP, incorrect: -5 XP, level up every 100 XP).
- Your total study time and session logs are tracked in the database.
- At the end of the session, a summary of your score by category is shown.
File Structure
main.py- Main application logicassets/questions.txt- Source of all questions (with explanations)assets/questions_shuffled.txt- Shuffled questions for each sessionrhel_learning.db- SQLite database for stats, session logs, and questionsrequirements.txt- Python dependencies
Question Format
Each line in assets/questions.txt should be:
Category|Question|Answer1|Answer2|Answer3|CorrectIndex|Explanation
Category: e.g., "User Management", "Networking", etc.Question: The question textAnswer1,Answer2,Answer3: Multiple choice answersCorrectIndex: 1-based index of the correct answer (1, 2, or 3)Explanation: Shown after each answer for learning
Troubleshooting
- Make sure your
assets/questions.txtincludes explanations as the 7th field for each question. - The app requires Python 3 and Tkinter.
- If you encounter errors, check that your questions file is formatted correctly and all dependencies are installed.
- The app will automatically migrate your old XP, level, and time files to SQLite on first run.
License
MIT License
Description
Languages
Python
98.3%
C
1%
Cython
0.3%
C++
0.2%