A professional-grade Student Dashboard Web Application built with HTML, CSS, and JavaScript, featuring two distinct user roles: Admin and Student. The application provides a clean, modern UI with responsive design and interactive user experience, all without requiring a backend (data stored in localStorage).
- Professional Login Page with secure authentication
- Dashboard Overview with key statistics and quick actions
- Student Management with add/edit/delete functionality
- Table View of student records with sorting and filtering
- Notice Management to send notices to specific students, classes, or all students
- Analytics Dashboard with interactive charts
- Data Export functionality (JSON format)
- Form Validation with real-time feedback
- Student Login using Student ID/Roll Number
- Personalized Dashboard with academic overview
- Profile Summary with student information
- Academic Performance with subject-wise marks and charts
- Attendance Tracking with visual progress indicators
- Notice Board for important announcements
- Report Download functionality (TXT format)
- Modern Design with clean, professional layout
- Responsive Design for mobile, tablet, and desktop
- Dark/Light Mode Toggle for user preference
- Smooth Animations and transitions
- Interactive Charts using Chart.js
- Card-based Layout with consistent styling
- Font Awesome Icons for enhanced visual appeal
- Modern web browser (Chrome, Firefox, Safari, Edge)
- No server setup required - runs entirely in the browser
- Clone or download the project files
- Open
index.htmlin your web browser - The application will load with sample data
student-dashboard/
β
βββ index.html # Landing Page (Role Selection)
βββ admin.html # Admin Dashboard
βββ student.html # Student Dashboard
βββ login-admin.html # Admin Login Page
βββ login-student.html # Student Login Page
β
βββ css/
β βββ style.css # Main Stylesheet
β
βββ js/
β βββ script.js # JavaScript Logic
β
βββ assets/
β βββ images/ # Images and icons
β
βββ data/
β βββ dummyData.json # Sample data structure
β
βββ README.md # Project documentation
- Username:
admin - Password:
admin123
Use any of the sample student IDs:
STU001- John Doe (Grade 10)STU002- Jane Smith (Grade 9)STU003- Mike Johnson (Grade 10)STU004- Sarah Wilson (Grade 8)STU005- David Brown (Grade 9)
- Select "Administrator" role on the landing page
- Login with admin credentials
- Access the admin dashboard with:
- Student management (add, edit, delete)
- Notice creation and management
- Analytics and reporting
- Data export functionality
- Select "Student" role on the landing page
- Enter your Student ID to login
- Access your personalized dashboard with:
- Academic performance overview
- Subject-wise marks and grades
- Attendance records
- Important notices
- Profile information
- HTML5 - Semantic structure and accessibility
- CSS3 - Modern styling with Flexbox/Grid layout
- JavaScript (ES6+) - Application logic and interactions
- Chart.js - Interactive charts and graphs
- Font Awesome - Icon library
- Google Fonts - Typography (Poppins)
- localStorage for data persistence
- Responsive Design with mobile-first approach
- Progressive Web App ready
- No Backend Required - client-side only
- Modular JavaScript architecture
- Form Validation and error handling
- Real-time Updates and notifications
- Chrome 60+
- Firefox 55+
- Safari 12+
- Edge 79+
The application uses CSS custom properties for easy theming:
:root {
--primary-color: #4f46e5;
--secondary-color: #06b6d4;
--accent-color: #f59e0b;
--success-color: #10b981;
--error-color: #ef4444;
}- New Student Fields: Modify the student object structure in
script.js - Additional Charts: Add new Chart.js implementations
- Custom Notifications: Extend the notification system
- Export Formats: Add new export functionality
The application comes with pre-loaded sample data including:
- 5 sample students with complete academic records
- 4 sample notices with different target audiences
- Attendance records for the past 30 days
- Subject-wise marks and grades
- Login as admin
- Navigate to Students section
- Click "Add Student" button
- Fill in the required information
- Save to add to the system
- Login as admin
- Navigate to Notices section
- Click "Send Notice" button
- Choose target audience (All, Class, or Individual)
- Compose and send the notice
All data is automatically saved to localStorage and persists between browser sessions. To reset data, clear browser localStorage or refresh the page (sample data will reload).
Potential features for future development:
- Backend Integration with REST API
- User Authentication with JWT tokens
- Email Notifications for notices
- PDF Report Generation with jsPDF
- Advanced Analytics with more chart types
- Bulk Data Import/Export (CSV, Excel)
- Real-time Notifications with WebSocket
- Mobile App with React Native/Flutter
This project is open source and available under the MIT License.
Contributions are welcome! Please feel free to submit a Pull Request.
For support or questions, please open an issue in the project repository.
Built with β€οΈ for educational institutions and student management.