Skip to content

MuhammadHaseeb3112/ReportCardPorject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

5 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ“ Report Card Management System

A modern Django-based Student Report Card Management System designed to manage student records, academic performance, report card generation, rankings, and automated result publishing.

The system provides secure authentication, PDF report card generation, asynchronous email delivery using Celery & Redis, leaderboard analytics, and department-wise student management.


๐Ÿš€ Key Features

๐Ÿ” Authentication & Security

  • User Registration
  • User Login & Logout
  • Password Reset via Email
  • Password Change Functionality
  • Authentication Protected Views
  • CSRF Protection
  • Secure Session Management
  • Staff-only Result Publishing

๐Ÿ‘จโ€๐ŸŽ“ Student Management

  • Student Record Management
  • Department-wise Organization
  • Student Profiles
  • Email Management
  • Academic Performance Tracking
  • Search & Filtering System
  • Pagination Support

๐Ÿ“š Subject & Marks Management

  • Subject-wise Marks Entry
  • Department-specific Subjects
  • Percentage Calculation
  • GPA Calculation
  • Grade Calculation
  • Rank Calculation
  • Performance Analytics

๐Ÿ“„ Professional Report Cards

  • Dynamic Report Card Generation
  • GPA & Grade Summary
  • Rank Information
  • Percentage Statistics
  • Downloadable PDF Reports
  • Professionally Styled PDF Layout
  • Generated Timestamp

๐Ÿ† Leaderboard System

  • Top Student Rankings
  • GPA-based Leaderboard
  • Academic Merit Lists
  • Performance Comparison
  • Top 10 Students Dashboard

๐Ÿ“ง Automated Result Publishing

Publish Results with One Click

Staff users can:

  • Publish all student results
  • Automatically generate PDFs
  • Email report cards to students
  • Prevent duplicate email delivery
  • Track email delivery timestamps

Smart Email Workflow

  • Celery Background Tasks
  • Redis Message Broker
  • Automatic Retry on Failure
  • Duplicate Email Prevention
  • Delivery Tracking
  • Bulk Result Publishing

โšก Asynchronous Processing

Powered by Celery and Redis:

  • Background Email Sending
  • Queue Management
  • Retry Mechanism
  • Scalable Task Processing
  • Non-blocking User Experience

๐Ÿ› ๏ธ Tech Stack

Backend

  • Python 3
  • Django 5
  • Celery

Frontend

  • HTML5
  • CSS3
  • Bootstrap 5
  • Django Templates

Database

  • SQLite

Background Processing

  • Celery
  • Redis

PDF Generation

  • WeasyPrint

Email Services

  • SMTP
  • Gmail App Password Integration

Authentication

  • Django Authentication System

๐Ÿ“‚ Project Structure

ReportCardPorject/
โ”‚
โ”œโ”€โ”€ ReportCardApp/
โ”‚   โ”œโ”€โ”€ migrations/
โ”‚   โ”œโ”€โ”€ templates/
โ”‚   โ”‚   โ””โ”€โ”€ students/
โ”‚   โ”œโ”€โ”€ models.py
โ”‚   โ”œโ”€โ”€ views.py
โ”‚   โ”œโ”€โ”€ tasks.py
โ”‚   โ”œโ”€โ”€ utils.py
โ”‚   โ”œโ”€โ”€ pdf_utils.py
โ”‚   โ””โ”€โ”€ urls.py
โ”‚
โ”œโ”€โ”€ accounts/
โ”‚   โ”œโ”€โ”€ forms.py
โ”‚   โ”œโ”€โ”€ views.py
โ”‚   โ””โ”€โ”€ urls.py
โ”‚
โ”œโ”€โ”€ ReportCardPorject/
โ”‚   โ”œโ”€โ”€ settings.py
โ”‚   โ”œโ”€โ”€ celery.py
โ”‚   โ”œโ”€โ”€ urls.py
โ”‚   โ”œโ”€โ”€ asgi.py
โ”‚   โ””โ”€โ”€ wsgi.py
โ”‚
โ”œโ”€โ”€ manage.py
โ”œโ”€โ”€ requirements.txt
โ””โ”€โ”€ README.md

โš™๏ธ Installation

Clone Repository

git clone https://github.com/MuhammadHaseeb3112/ReportCardPorject.git
cd ReportCardPorject

Create Virtual Environment

python -m venv env

Activate Environment

Windows

env\Scripts\activate

Linux/macOS

source env/bin/activate

Install Dependencies

pip install -r requirements.txt

๐Ÿ”‘ Environment Variables

Create a .env file:

SECRET_KEY=your_secret_key

EMAIL_HOST_USER=[your_email@gmail.com](mailto:your_email@gmail.com)
EMAIL_HOST_PASSWORD=your_app_password

REDIS_URL=redis://localhost:6379/1

๐Ÿš€ Run Redis

redis-server

๐Ÿš€ Run Celery Worker

celery -A ReportCardPorject worker -l info

๐Ÿ—„๏ธ Apply Migrations

python manage.py migrate

๐Ÿ‘ค Create Superuser

python manage.py createsuperuser

โ–ถ๏ธ Run Development Server

python manage.py runserver

Application:

http://127.0.0.1:8000/

Admin:

http://127.0.0.1:8000/admin/

๐Ÿ“ธ Screenshots

Include screenshots of:

  • Home Page
  • Student Dashboard
  • Student List
  • Student Report Card
  • PDF Report Card
  • Leaderboard
  • Login Page
  • Admin Panel
  • Result Publishing System

๐ŸŽฏ What This Project Demonstrates

  • Django Models & ORM
  • Authentication & Authorization
  • CRUD Operations
  • Pagination
  • Search & Filtering
  • GPA Algorithms
  • Ranking Algorithms
  • PDF Generation
  • Celery Task Queues
  • Redis Integration
  • Email Automation
  • Background Processing
  • Secure Web Development
  • Production-ready Architecture

๐Ÿ”ฎ Future Improvements

  • Django REST Framework API
  • JWT Authentication
  • PostgreSQL
  • Docker Deployment
  • Nginx
  • Redis Caching
  • Celery Beat Scheduling
  • Excel Export
  • Teacher Dashboard
  • Parent Portal
  • Attendance Management
  • Kafka Integration
  • Microservices Architecture
  • FastAPI Notification Service

๐Ÿ‘จโ€๐Ÿ’ป Author

Muhammad Haseeb

GitHub: https://github.com/MuhammadHaseeb3112


โญ Support

If you found this project useful, please consider giving it a star โญ on GitHub.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors