Skip to content

Commit 1a16093

Browse files
Add files via upload
1 parent dac92b7 commit 1a16093

File tree

4 files changed

+722
-0
lines changed

4 files changed

+722
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
### IG Mu3adala Calculator
2+
3+
A static web app that helps students estimate their IG O Level and A Level or AS Level equivalency (Mu3adala) using commonly used grade-to-percentage mappings in many Arab countries.
4+
5+
**Features**
6+
7+
- Add any number of O Levels, A Levels, and AS Levels
8+
- Mark grades as confirmed or unconfirmed
9+
- Automatic handling of AS pairs (2 AS = 1 A Level)
10+
- Default 50% O Level / 50% A Level weighting
11+
- Calculate current Mu3adala
12+
- Predict minimum grades needed in unconfirmed A or AS subjects to break even at a target percentage
13+
14+
**Notes**
15+
16+
- Grade mapping is an approximation and may vary by country or year
17+
- O Level grades below D are invalid
18+
- A Level E is allowed
19+
- Always double-check official equivalency rules for subject counts and weightings
20+
21+
Designed as a simple, static site suitable for GitHub Pages.
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Mu'adala Score Calculator</title>
7+
<link rel="stylesheet" href="styles.css">
8+
</head>
9+
<body>
10+
<div class="container">
11+
<header>
12+
<h1>Mu'adala Score Calculator</h1>
13+
<p class="subtitle">Calculate O Level and A/AS Level equivalency scores</p>
14+
</header>
15+
16+
<main>
17+
<div class="section">
18+
<div class="section-header">
19+
<h2>O Level Subjects</h2>
20+
<button class="btn-add" onclick="addSubject('olevel')">+ Add O Level</button>
21+
</div>
22+
<div id="olevel-container" class="subjects-container"></div>
23+
</div>
24+
25+
<div class="section">
26+
<div class="section-header">
27+
<h2>A Level Subjects</h2>
28+
<button class="btn-add" onclick="addSubject('alevel')">+ Add A Level</button>
29+
</div>
30+
<div id="alevel-container" class="subjects-container"></div>
31+
</div>
32+
33+
<div class="section">
34+
<div class="section-header">
35+
<h2>AS Level Subjects</h2>
36+
<button class="btn-add" onclick="addSubject('aslevel')">+ Add AS Level</button>
37+
</div>
38+
<p class="info-text">Note: AS Levels must be in pairs (2 AS = 1 A Level)</p>
39+
<div id="aslevel-container" class="subjects-container"></div>
40+
</div>
41+
42+
<div class="section weighting-section">
43+
<h2>Weighting</h2>
44+
<div class="slider-container">
45+
<label>O Level: <span id="olevel-weight">50</span>%</label>
46+
<input type="range" id="weight-slider" min="0" max="100" value="50" oninput="updateWeighting()">
47+
<label>A Level: <span id="alevel-weight">50</span>%</label>
48+
</div>
49+
</div>
50+
51+
<div class="section target-section">
52+
<h2>Target Percentage</h2>
53+
<input type="number" id="target-percentage" min="0" max="100" step="0.1" value="90" placeholder="Enter target percentage">
54+
</div>
55+
56+
<div class="button-group">
57+
<button class="btn-primary" onclick="calculateMuadala()">Calculate Current Score</button>
58+
<button class="btn-secondary" onclick="predictMinimumGrades()">Predict Minimum Grades</button>
59+
</div>
60+
61+
<div id="result" class="result"></div>
62+
</main>
63+
</div>
64+
65+
<script src="script.js"></script>
66+
</body>
67+
</html>

0 commit comments

Comments
 (0)