Skip to content

Latest commit

Β 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Student Management System

A complete, production-ready Student Management System built with Django and MongoDB

Python Django MongoDB Bootstrap


✨ Features

🎯 Core Features

  • βœ… Complete CRUD Operations - Create, Read, Update, Delete students
  • βœ… User Authentication - Register, Login, Logout with secure passwords
  • βœ… Role-Based Access Control - Admin, Teacher, Student roles
  • βœ… Assignment Management - Create, submit, and grade assignments
  • βœ… Search Functionality - Search students by name, email, or course

πŸ†• Advanced Features (NEW!)

  • βœ… πŸ“Š Statistics Dashboard - Real-time charts with Chart.js
  • βœ… πŸ” Advanced Filtering - Filter by course, grade, and sort options
  • βœ… πŸ“Έ Profile Pictures - Upload and display student photos
  • βœ… πŸ“… Attendance Tracking - Complete attendance management system
  • βœ… πŸ“₯ Export to Excel/PDF - Professional reports for presentations

πŸš€ Quick Start

Prerequisites

  • Python 3.13
  • MongoDB Community Server
  • pip (Python package manager)

Installation

  1. Clone or navigate to the project:
cd C:\Users\DELL\MyNewProject
  1. Install dependencies:
py -3.13 -m pip install -r requirements.txt
  1. Start MongoDB:
net start MongoDB
  1. Run the server:
py -3.13 manage.py runserver
  1. Access the application:
http://localhost:8000/

πŸ“Š Dashboard Preview

The dashboard includes:

  • πŸ“ˆ 4 Summary Cards - Students, Assignments, Submissions, Attendance
  • 🎨 4 Interactive Charts - Course distribution, Grade distribution, Submissions, Attendance
  • πŸ“‹ Quick Statistics Table - Real-time metrics

🎯 Key Features Breakdown

1. Statistics Dashboard

  • Real-time data visualization
  • Interactive Chart.js charts
  • Summary cards with icons
  • Professional color scheme

2. Advanced Filtering & Sorting

  • Search by name, email, course
  • Filter by course and grade
  • Sort by multiple fields
  • A-Z / Z-A toggle

3. Profile Pictures

  • Upload student photos
  • Circular profile display
  • Fallback to initials
  • Automatic file management

4. Attendance Tracking

  • Mark attendance (Present/Absent/Late/Excused)
  • View attendance history
  • Calculate statistics
  • Export attendance reports

5. Export Functionality

  • Export students to Excel
  • Export students to PDF
  • Export attendance to Excel
  • Professional formatting

πŸ‘₯ User Roles

πŸ”΄ Administrator

  • Full system access
  • Manage students (add, edit, delete)
  • Manage assignments
  • Mark attendance
  • Export data

🟒 Teacher

  • Add and edit students
  • Create and manage assignments
  • Mark attendance
  • Grade submissions
  • Export data

πŸ”΅ Student

  • View students and assignments
  • Submit assignments
  • View own attendance
  • View own grades

πŸ› οΈ Technology Stack

Backend

  • Django 4.2.7 - Web framework
  • Python 3.13 - Programming language
  • PyMongo 4.6.0 - MongoDB driver

Database

  • MongoDB - NoSQL database for flexible data storage

Frontend

  • Bootstrap 5.3.0 - Responsive UI framework
  • Chart.js 4.4.0 - Interactive charts
  • Bootstrap Icons - Icon library

Libraries

  • Pillow - Image processing
  • openpyxl - Excel generation
  • reportlab - PDF generation

πŸ“‚ Project Structure

MyNewProject/
β”œβ”€β”€ student_management/          # Main project directory
β”‚   β”œβ”€β”€ settings.py             # Project settings
β”‚   β”œβ”€β”€ urls.py                 # Main URL configuration
β”‚   └── wsgi.py                 # WSGI configuration
β”‚
β”œβ”€β”€ students/                    # Main app directory
β”‚   β”œβ”€β”€ templates/              # HTML templates
β”‚   β”‚   └── students/
β”‚   β”‚       β”œβ”€β”€ base.html       # Base template
β”‚   β”‚       β”œβ”€β”€ home.html       # Student list
β”‚   β”‚       β”œβ”€β”€ dashboard.html  # Statistics dashboard
β”‚   β”‚       β”œβ”€β”€ attendance_list.html
β”‚   β”‚       └── ...
β”‚   β”œβ”€β”€ views.py                # View functions
β”‚   β”œβ”€β”€ urls.py                 # App URL patterns
β”‚   β”œβ”€β”€ forms.py                # Django forms
β”‚   β”œβ”€β”€ models.py               # Data models
β”‚   β”œβ”€β”€ mongodb.py              # MongoDB operations
β”‚   β”œβ”€β”€ export_utils.py         # Export functions
β”‚   β”œβ”€β”€ decorators.py           # Permission decorators
β”‚   └── context_processors.py  # Template context
β”‚
β”œβ”€β”€ media/                       # User uploaded files
β”‚   └── profile_pictures/       # Student photos
β”‚
β”œβ”€β”€ manage.py                    # Django management script
β”œβ”€β”€ requirements.txt             # Python dependencies
β”‚
└── Documentation/
    β”œβ”€β”€ FEATURES_GUIDE.md       # Complete feature guide
    β”œβ”€β”€ QUICK_START.md          # Quick start guide
    β”œβ”€β”€ ROLE_PERMISSIONS_GUIDE.md
    └── NEW_FEATURES_SUMMARY.txt

πŸ“– Documentation


🎨 Screenshots

Dashboard

  • Real-time statistics with 4 interactive charts
  • Summary cards showing key metrics
  • Professional color-coded design

Student List with Filters

  • Advanced filtering panel
  • Profile pictures display
  • Export buttons (Excel, PDF)
  • Quick action buttons

Attendance Management

  • Date-wise attendance tracking
  • Color-coded status badges
  • Attendance history per student
  • Statistics and percentages

πŸ” Security Features

  • Password Hashing - Secure password storage with Django's built-in hashing
  • CSRF Protection - All forms protected against CSRF attacks
  • Role-Based Access - Different permissions for each user role
  • Session Management - Secure session handling
  • URL Protection - Decorator-based view protection

πŸ“Š Database Collections

students

  • Student information
  • Profile pictures
  • Enrollment dates

assignments

  • Assignment details
  • Due dates and marks
  • Course information

submissions

  • Student submissions
  • Grades and feedback
  • Submission status

attendance

  • Attendance records
  • Date and status
  • Remarks

user_profiles

  • User roles
  • Authentication data
  • Profile information

πŸš€ Deployment

Development

py -3.13 manage.py runserver

Production Considerations

  1. Set DEBUG = False in settings.py
  2. Configure ALLOWED_HOSTS
  3. Use production-grade web server (Gunicorn, uWSGI)
  4. Set up MongoDB with authentication
  5. Configure static files serving
  6. Set up SSL/TLS certificates

πŸ§ͺ Testing

Manual Testing

  1. Register users with different roles
  2. Test all CRUD operations
  3. Mark attendance for multiple students
  4. Export data to Excel and PDF
  5. Test filtering and sorting
  6. Upload profile pictures

Test Data

Use the provided sample data in QUICK_START.md to populate the system.


πŸ› Troubleshooting

Server won't start

# Check MongoDB
mongosh

# Restart MongoDB
net start MongoDB

Dependencies issues

# Reinstall dependencies
py -3.13 -m pip install -r requirements.txt --force-reinstall

Profile pictures not showing

# Create media directory
mkdir media\profile_pictures

πŸ“ API Endpoints

Authentication

  • /register/ - User registration
  • /login/ - User login
  • /logout/ - User logout

Students

  • / - Student list (with filters)
  • /add/ - Add student
  • /edit/<id>/ - Edit student
  • /delete/<id>/ - Delete student
  • /detail/<id>/ - Student details

Dashboard & Analytics

  • /dashboard/ - Statistics dashboard
  • /student/<id>/performance/ - Student performance

Attendance

  • /attendance/ - Attendance list
  • /attendance/mark/<id>/ - Mark attendance
  • /attendance/student/<id>/ - Student attendance history

Assignments

  • /assignments/ - Assignment list
  • /assignments/add/ - Create assignment
  • /assignments/<id>/ - Assignment details
  • /assignments/<id>/submit/ - Submit assignment

Export

  • /export/students/excel/ - Export students to Excel
  • /export/students/pdf/ - Export students to PDF
  • /export/attendance/excel/ - Export attendance to Excel

🀝 Contributing

This is a college project, but suggestions and improvements are welcome!


πŸ“„ License

This project is created for educational purposes.


πŸ‘¨β€πŸ’» Author

College Project

  • Built with Django and MongoDB
  • Completed in one day as requested
  • Production-ready features

πŸŽ“ For College Presentation

Key Highlights:

  1. Full-stack application with Django and MongoDB
  2. 20+ features including CRUD, authentication, and advanced features
  3. Role-based security with 3 user types
  4. Modern UI with Bootstrap 5 and Chart.js
  5. Production-ready with proper error handling and validation
  6. Well-documented with multiple guide files
  7. Scalable architecture using MongoDB

Demo Flow (5 minutes):

  1. Show Dashboard with charts (1 min)
  2. Demonstrate filtering and sorting (1 min)
  3. Add student with profile picture (1 min)
  4. Mark attendance and show statistics (1 min)
  5. Export to Excel and PDF (1 min)

πŸ“ž Quick Commands

# Start server
py -3.13 manage.py runserver

# Create superuser
py -3.13 manage.py createsuperuser

# Access MongoDB shell
mongosh
use student_management_db
db.students.find()

# Install dependencies
py -3.13 -m pip install -r requirements.txt

⭐ Features at a Glance

Feature Status Description
CRUD Operations βœ… Complete Create, Read, Update, Delete
Authentication βœ… Register, Login, Logout
Authorization βœ… Role-based access control
Dashboard βœ… Interactive charts and statistics
Filtering βœ… Advanced search and filter
Profile Pictures βœ… Image upload and display
Attendance βœ… Complete tracking system
Export βœ… Excel and PDF generation
Assignments βœ… Create, submit, grade
Responsive UI βœ… Mobile-friendly design

πŸŽ‰ Conclusion

This Student Management System is a complete, production-ready application with all modern features expected in a real-world system. It demonstrates proficiency in:

  • Full-stack web development
  • Database design and operations
  • User authentication and authorization
  • Data visualization
  • File handling and exports
  • Modern UI/UX design
  • Security best practices

Perfect for your college project! πŸŽ“βœ¨


Made with ❀️ using Django and MongoDB

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages