๐ I Built a Student Grade Book Web App — Python + Live Dashboard | Infosys Ed-Tech | Mopuru Upendra Reddy
I Built a Student Grade Book
Web App from Scratch ๐
A full-stack education platform with Python analytics, real-time web dashboard, live rankings — built from zero. No frameworks. No shortcuts.
๐ What I Built & Why
As part of my journey at Masai School and my training program at Infosys, I was given a challenge: build a Student Grade Book using Python data structures. Instead of stopping at the basic requirement, I went further and built a complete full-stack platform with two versions:
Python CLI Dashboard
291-line terminal app with ASCII progress bars, subject analytics, search, rankings, dynamic add — runs anywhere Python is installed
Web Dashboard
Dark luxury UI — real-time charts, search & filter, edit modal, CSV export, mobile responsive — all in one single HTML file
Live Analytics
Class average, pass rate, subject-wise breakdowns, grade distribution — all update instantly when you add or edit students
Rankings System
๐ฅ๐ฅ๐ฅ live leaderboard, top student spotlight with gold banner, sortable table — like a real school management system
✨ All Features
๐ง Python — All 4 Data Structures
This project uses all 4 Python data structures meaningfully — not just to tick a box:
students = ['Raj', 'Priya', 'Amit', 'Sneha', 'Karan']
print(students[:3]) # → ['Raj', 'Priya', 'Amit']
# ─── TUPLE — immutable (subjects never change) ────────────
subjects = ('Math', 'Science', 'English')
# ─── DICTIONARY — key-value mark storage ──────────────────
marks = {
'Sneha': {'Math': 95, 'Science': 90, 'English': 92},
'Priya': {'Math': 92, 'Science': 88, 'English': 85},
'Raj' : {'Math': 85, 'Science': 78, 'English': 90},
}
# ─── SET — unique grades, zero duplicates ─────────────────
unique_grades = set() # Even if 'A' added 10 times → stored once
# ─── Lambda + max() — find top student ────────────────────
top = max(students, key=lambda s: sum(marks[s].values()) / 3)
print(f"Top Student: {top}") # → Sneha
๐ Real Terminal Output
๐ STUDENT GRADE BOOK | INFOSYS ED-TECH
═══════════════════════════════════════════════════════
All Students : ['Raj','Priya','Amit','Sneha','Karan']
First 3 : ['Raj','Priya','Amit']
───────────────────────────────────────────────────────
๐ Sneha
Math : [███████████████████░] 95%
Science: [██████████████████░░] 90%
English: [██████████████████░░] 92%
Average: 92.33 | Grade: A
───────────────────────────────────────────────────────
๐ฅ Sneha 92.33 · Grade A
๐ฅ Priya 88.33 · Grade A
๐ฅ Raj 84.33 · Grade B
#4 Karan 80.00 · Grade B
#5 Amit 71.00 · Grade B
Top Student : Sneha
Unique Grades : {'A', 'B'}
═══════════════════════════════════════════════════════
๐ Infosys Ed-Tech | Student Grade Book | v2.0
═══════════════════════════════════════════════════════
๐ Student Results Table
| Student | Math | Science | English | Average | Grade |
|---|---|---|---|---|---|
| ๐ Sneha | 95 | 90 | 92 | 92.33 | A |
| ๐ Priya | 92 | 88 | 85 | 88.33 | A |
| ✅ Raj | 85 | 78 | 90 | 84.33 | B |
| ✅ Karan | 80 | 82 | 78 | 80.00 | B |
| ✅ Amit | 70 | 75 | 68 | 71.00 | B |
๐ Final Class Rankings
๐บ️ How It Works
Data Input
Student names stored in a List, marks in a Dictionary, subjects in a Tuple — structured like a real database
Calculate Average
sum(scores.values()) / 3 for each student — clean, readable Python
Assign Grade
≥85 → A · ≥70 → B · <70 → C — stored in a Set for unique tracking
Find Top Student
max() + lambda sorts all students by average — Sneha wins with 92.33
Output
Python CLI → beautiful ASCII terminal dashboard · Web → dark luxury real-time UI
๐จ๐ป Mopuru Upendra Reddy
Python Developer · AI/ML Engineer · Ed-Tech Builder
B.Tech CSE · CMR University, Bengaluru · Masai School · Infosys
⭐ Try It Yourself — It's Free!
Full source code is open-source on GitHub. Clone it, run it, learn from it, build on it!
Comments
Post a Comment