A full-stack Flask web application that allows NIT Jamshedpur students to:
- Register & Log in securely
- Submit Semester SGPA and Cumulative CGPA
- View their academic records
- Compete on a CGPA leaderboard
- Filter leaderboard by Year and Branch
- See their personal rank
Built as my CS50 Final Project.
• Student Signup
• Secure Login
• Password Hashing
• Session Handling
• Password Reset Support
Students can:
- Add Semester Name
- Add SGPA
- Add Cumulative CGPA
- View Academic History
Duplicate semester entries automatically update.
Displays ranked students based on CGPA:
Includes:
- Overall Ranking
- Branch Filter
- Year Filter
- Combined Filter
- Rank ties handled correctly
- Shows Your Rank at top
- Modern Dark Theme
- Clean Responsive Layout
- Auto-Hide Flash Messages
- Custom Logo Branding
- Python
- Flask
- SQLite
- CS50 SQL Library
- HTML
- CSS
- Bootstrap
| Field | Type | Description |
|---|---|---|
| id | INTEGER | Primary Key |
| reg | TEXT | Registration Number |
| name | TEXT | Student Name |
| password | TEXT | Hashed Password |
| year | TEXT | Admission Year |
| program | TEXT | UG Program |
| branch | TEXT | Branch |
| roll | TEXT | Roll Number |
| Field | Type | Description |
|---|---|---|
| id | INTEGER | Primary Key |
| reg | TEXT | Foreign Key (users.reg) |
| semester | TEXT | Semester |
| sgpa | REAL | Semester GPA |
| cgpa | REAL | Cumulative GPA |
git clone <repo-link>
cd project