A complete, production-ready Student Management System built with Django and MongoDB
- β 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
- β π 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
- Python 3.13
- MongoDB Community Server
- pip (Python package manager)
- Clone or navigate to the project:
cd C:\Users\DELL\MyNewProject- Install dependencies:
py -3.13 -m pip install -r requirements.txt- Start MongoDB:
net start MongoDB- Run the server:
py -3.13 manage.py runserver- Access the application:
http://localhost:8000/
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
- Real-time data visualization
- Interactive Chart.js charts
- Summary cards with icons
- Professional color scheme
- Search by name, email, course
- Filter by course and grade
- Sort by multiple fields
- A-Z / Z-A toggle
- Upload student photos
- Circular profile display
- Fallback to initials
- Automatic file management
- Mark attendance (Present/Absent/Late/Excused)
- View attendance history
- Calculate statistics
- Export attendance reports
- Export students to Excel
- Export students to PDF
- Export attendance to Excel
- Professional formatting
- Full system access
- Manage students (add, edit, delete)
- Manage assignments
- Mark attendance
- Export data
- Add and edit students
- Create and manage assignments
- Mark attendance
- Grade submissions
- Export data
- View students and assignments
- Submit assignments
- View own attendance
- View own grades
- Django 4.2.7 - Web framework
- Python 3.13 - Programming language
- PyMongo 4.6.0 - MongoDB driver
- MongoDB - NoSQL database for flexible data storage
- Bootstrap 5.3.0 - Responsive UI framework
- Chart.js 4.4.0 - Interactive charts
- Bootstrap Icons - Icon library
- Pillow - Image processing
- openpyxl - Excel generation
- reportlab - PDF generation
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
- FEATURES_GUIDE.md - Complete documentation of all features
- QUICK_START.md - Quick start and testing guide
- ROLE_PERMISSIONS_GUIDE.md - Role-based permissions
- NEW_FEATURES_SUMMARY.txt - Summary of new features
- Real-time statistics with 4 interactive charts
- Summary cards showing key metrics
- Professional color-coded design
- Advanced filtering panel
- Profile pictures display
- Export buttons (Excel, PDF)
- Quick action buttons
- Date-wise attendance tracking
- Color-coded status badges
- Attendance history per student
- Statistics and percentages
- 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
- Student information
- Profile pictures
- Enrollment dates
- Assignment details
- Due dates and marks
- Course information
- Student submissions
- Grades and feedback
- Submission status
- Attendance records
- Date and status
- Remarks
- User roles
- Authentication data
- Profile information
py -3.13 manage.py runserver- Set
DEBUG = Falsein settings.py - Configure
ALLOWED_HOSTS - Use production-grade web server (Gunicorn, uWSGI)
- Set up MongoDB with authentication
- Configure static files serving
- Set up SSL/TLS certificates
- Register users with different roles
- Test all CRUD operations
- Mark attendance for multiple students
- Export data to Excel and PDF
- Test filtering and sorting
- Upload profile pictures
Use the provided sample data in QUICK_START.md to populate the system.
# Check MongoDB
mongosh
# Restart MongoDB
net start MongoDB# Reinstall dependencies
py -3.13 -m pip install -r requirements.txt --force-reinstall# Create media directory
mkdir media\profile_pictures/register/- User registration/login/- User login/logout/- User logout
/- Student list (with filters)/add/- Add student/edit/<id>/- Edit student/delete/<id>/- Delete student/detail/<id>/- Student details
/dashboard/- Statistics dashboard/student/<id>/performance/- Student performance
/attendance/- Attendance list/attendance/mark/<id>/- Mark attendance/attendance/student/<id>/- Student attendance history
/assignments/- Assignment list/assignments/add/- Create assignment/assignments/<id>/- Assignment details/assignments/<id>/submit/- Submit assignment
/export/students/excel/- Export students to Excel/export/students/pdf/- Export students to PDF/export/attendance/excel/- Export attendance to Excel
This is a college project, but suggestions and improvements are welcome!
This project is created for educational purposes.
College Project
- Built with Django and MongoDB
- Completed in one day as requested
- Production-ready features
- Full-stack application with Django and MongoDB
- 20+ features including CRUD, authentication, and advanced features
- Role-based security with 3 user types
- Modern UI with Bootstrap 5 and Chart.js
- Production-ready with proper error handling and validation
- Well-documented with multiple guide files
- Scalable architecture using MongoDB
- Show Dashboard with charts (1 min)
- Demonstrate filtering and sorting (1 min)
- Add student with profile picture (1 min)
- Mark attendance and show statistics (1 min)
- Export to Excel and PDF (1 min)
# 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| 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 |
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