π View Live Demo
π‘ Quick Start: Try the admin dashboard with
admin@scholar.com/admin123or create a teacher account to explore full features.
Scholar is a modern, feature-rich student record management system built with Vite + React + Tailwind CSS. It provides an intuitive interface for teachers to manage student records, calculate grades automatically, and generate professional PDF reports. An admin dashboard allows administrators to monitor all registered teachers.
Choose between Teacher Login or Admin Login to get started
Complete dashboard with file system navigation, student management, and real-time statistics
Add, edit, delete, and search student records with automatic grade calculation
Professional PDF reports with student details, grades, and summary statistics
Monitor all registered teachers, view system statistics, and manage user accounts
- Teacher Registration & Login - Create secure teacher accounts
- Admin Dashboard - View all registered teachers
- Session Management - Secure user sessions with logout functionality
- Demo Admin Account -
admin@scholar.com/admin123
- Hierarchical folder structure: Branch β Subject β Students
- Organized data storage for easy navigation
- Automatic cleanup of empty folders
- Real-time file structure updates
- Add, edit, and delete student records
- Manage multiple subjects across different branches
- Real-time statistics and performance metrics
- Search functionality for quick student lookup
- Automatic grade calculation based on marks
- Support for custom max marks (50, 100, 200, etc.)
- Percentage calculation with 2 decimal precision
- Grade scale:
- A+: 90-100%
- A: 80-89%
- B+: 70-79%
- B: 60-69%
- C: 50-59%
- D: 40-49%
- F: Below 40%
- Professional PDF reports with gradient headers
- Student details, marks, percentages, and grades
- Summary statistics (total students, average percentage)
- Print-ready format
- Color-coded grades for visual clarity
- Total students count
- Pass/Fail ratio
- Average percentage calculation
- Real-time metrics for selected subject
- Filter by subject and branch
- Dark theme with indigo-pink gradient design
- Smooth animations and transitions
- Responsive design (mobile, tablet, desktop)
- Glassmorphism effects
- Beautiful card-based layouts
- View all registered teachers
- Monitor system status
- Teacher activity tracking
- System information dashboard
- Security status monitoring
Frontend Framework: React 18+ (with Hooks)
Build Tool: Vite
Styling: Tailwind CSS
State Management: React useState
Storage: Browser localStorage
PDF Generation: HTML + Print API
- Node.js (v14 or higher)
- npm or yarn package manager
npm create vite@latest scholar -- --template react
cd scholarnpm installnpm install tailwindcss @tailwindcss/vite@import "tailwindcss";Replace the contents of src/App.jsx with the Scholar application code.
npm run devThe application will be available at http://localhost:5173
- Launch the application
- You'll see two options: Teacher Login or Admin Login
- Click on your desired option
- Click "Teacher Login"
- Click "Sign up" link
- Enter email and password
- Confirm password and click "Create Account"
- Log in with your credentials
- Fill in all required fields:
- Student Name: Full name of the student
- Roll Number: Student ID/Roll Number
- Branch: Select from CSE, ECE, EEE, MECH, CIV, EE
- Subject: Name of the subject (e.g., Data Structures, Algorithms)
- Marks Obtained: Student's marks (must be β€ Max Marks)
- Max Marks: Total marks for the assessment
- Click "β Add Student"
- Record is saved to file system automatically
-
File System Panel (Left Side):
- Shows all branches as folders
- Shows all subjects under each branch
- Click on a subject to view its students
- Shows count of students per subject
-
Search Students:
- Use search bar to filter by name or roll number
- Results update in real-time
-
Edit Student:
- Click "βοΈ" button in the student row
- Modify details in the form
- Click "πΎ Update" button
-
Delete Student:
- Click "ποΈ" button in the student row
- Student record is removed immediately
- Click on a subject to view students
- Click "π Download PDF" button
- Review the generated report in the print preview
- Click "Print" to save as PDF or print
- π₯ Total Students: Count of students in selected subject
- β Passed: Students with β₯40% marks
- β Failed: Students with <40% marks
- π Average %: Average percentage across all students
- Click "Admin Login"
- Enter credentials:
- Email:
admin@scholar.com - Password:
admin123
- Email:
- Click "Admin Login"
-
π Statistics Cards:
- Total Teachers registered
- Active users count
- System status
-
π Teachers List:
- View all registered teacher emails
- Status indicator (π’ Active)
- Join date
- Professional table format
-
π Security Section:
- Database status
- Encryption status
- Session status
-
βΉοΈ System Info:
- Platform version
- Last updated date
- System information
β Secure password storage in localStorage β Session-based authentication β Teacher data isolation (each teacher sees only their records) β Admin access restriction β Input validation on all forms β Confirmation dialogs for destructive actions
- Lazy state updates
- Memoized calculations
- Efficient search filtering
- Optimized re-renders with React hooks
- Minimal bundle size with Vite
scholar/
βββ public/ # Static assets
βββ src/
β βββ assets/ # Images and static resources
β βββ data/
β β βββ db.js # IndexedDB database layer
β βββ App.jsx # Main application component
β βββ App.css # Component styles
β βββ index.css # Global styles with Tailwind imports
β βββ main.jsx # Application entry point
βββ .gitignore # Git ignore rules
βββ eslint.config.js # ESLint configuration
βββ index.html # HTML template
βββ package.json # Dependencies and scripts
βββ package-lock.json # Dependency lock file
βββ README.md # Project documentation
βββ vite.config.js # Vite build configuration
Feel free to fork, modify, and enhance this project!
This project is open-source and available under the MIT License.