📝 Ikizamini — TypeScript online quiz / examination platform (Kinyarwanda for 'exam')
# Ikizamini
Welcome to the Ikizamini application, a comprehensive tool to help you practice and prepare for the theory exam for your driving test.
## Table of Contents
- Features
- Technologies Used
- Generating Questions
## Features
- Interactive quiz to test your knowledge of driving rules, regulations, and safety.
- Real-time feedback on your answers.
- Timer to simulate the actual exam conditions.
- Detailed results page showing correct and incorrect answers.
## Technologies Used
- **React**: A JavaScript library for building user interfaces.
- **Vite**: A build tool that provides a fast development environment.
- **TypeScript**: A typed superset of JavaScript that compiles to plain JavaScript.
- **Firebase Hosting**: Fast and secure hosting for web applications.
- **Tailwind CSS**: A utility-first CSS framework for rapid UI development.
- **React Router**: Declarative routing for React applications.
- **Redux Toolkit**: The official, recommended way to write Redux logic.
## Generating Questions
This application uses questions generated by crawling the Rwanda Traffic Guide website. Here is how the questions were generated:
### Web Crawler for Rwanda Traffic Guide Questions
This script crawls pages from the Rwanda Traffic Guide website, extracts questions, options, correct answers, and associated images, then saves this data in a JSON file.
### Requirements
Ensure you have the following libraries installed:
- `requests`
- `beautifulsoup4`
- `lxml`
### Script Overview
#### Variables and Setup
1. **Base URL and Starting URL**:
- The base URL and the starting URL for the crawling process are defined.
```python
base_url = "
rwandatrafficguide.com"
start_url = "
rwandatrafficguide.com"
```
2. **Directory to Save Images**:
- Creates a directory to save downloaded images.
```python
os.makedirs("downloaded_images", exist_ok=True)
```
3. **Custom Headers**:
- Custom headers ar …