SMART E-LIBRARY WITH STUDENT PROGRESS MANAGEMENT SYSTEM
Technology: [Link] Core + MySQL (phpMyAdmin)
1. PROJECT OVERVIEW
The Smart E-Library system is a web-based learning platform designed to provide
structured semester-wise learning materials with student progress tracking. The system
supports three roles: Admin, Teacher, and Student. Authentication is based on phone
number with OTP verification.
2. OBJECTIVES
- Provide secure OTP-based authentication
- Semester-wise content access restriction
- Topic-wise learning with quiz evaluation
- Track screen time and scrolling activity
- Generate student progress analytics
- Role based access control
3. USER ROLES
ADMIN:
- Manage users and roles
- Manage semesters and subjects
- Assign teachers to subjects
- View overall analytics
TEACHER:
- Upload study materials (PDF/Links)
- Create quizzes
- View student performance
STUDENT:
- Enroll in semester
- Access allowed subjects
- Attempt quizzes
- View progress dashboard
4. FUNCTIONAL REQUIREMENTS
- OTP login using phone
- Role based dashboard
- Semester enrollment restriction
- Sequential topic unlocking
- Auto quiz evaluation
- Progress calculation
5. DATABASE DESIGN (MySQL)
CREATE TABLE users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
full_name VARCHAR(100),
phone VARCHAR(15) UNIQUE,
password VARCHAR(255),
role ENUM('admin','teacher','student'),
semester_id INT NULL,
status ENUM('active','blocked') DEFAULT 'active',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE semesters (
semester_id INT AUTO_INCREMENT PRIMARY KEY,
semester_name VARCHAR(50),
status ENUM('active','inactive') DEFAULT 'active'
);
CREATE TABLE subjects (
subject_id INT AUTO_INCREMENT PRIMARY KEY,
semester_id INT,
subject_name VARCHAR(100),
FOREIGN KEY (semester_id) REFERENCES semesters(semester_id)
);
CREATE TABLE teacher_subject (
ts_id INT AUTO_INCREMENT PRIMARY KEY,
teacher_id INT,
subject_id INT,
semester_id INT,
assigned_date DATE,
FOREIGN KEY (teacher_id) REFERENCES users(user_id),
FOREIGN KEY (subject_id) REFERENCES subjects(subject_id)
);
CREATE TABLE materials (
material_id INT AUTO_INCREMENT PRIMARY KEY,
subject_id INT,
teacher_id INT,
topic_name VARCHAR(200),
file_path VARCHAR(255),
material_type ENUM('pdf','link'),
topic_order INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (subject_id) REFERENCES subjects(subject_id),
FOREIGN KEY (teacher_id) REFERENCES users(user_id)
);
CREATE TABLE quizzes (
quiz_id INT AUTO_INCREMENT PRIMARY KEY,
material_id INT,
total_marks INT,
passing_marks INT,
FOREIGN KEY (material_id) REFERENCES materials(material_id)
);
CREATE TABLE quiz_questions (
question_id INT AUTO_INCREMENT PRIMARY KEY,
quiz_id INT,
question TEXT,
option_a VARCHAR(200),
option_b VARCHAR(200),
option_c VARCHAR(200),
option_d VARCHAR(200),
correct_option CHAR(1),
FOREIGN KEY (quiz_id) REFERENCES quizzes(quiz_id)
);
CREATE TABLE quiz_results (
result_id INT AUTO_INCREMENT PRIMARY KEY,
student_id INT,
quiz_id INT,
marks INT,
status ENUM('pass','fail'),
attempt_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (student_id) REFERENCES users(user_id),
FOREIGN KEY (quiz_id) REFERENCES quizzes(quiz_id)
);
CREATE TABLE progress_tracking (
progress_id INT AUTO_INCREMENT PRIMARY KEY,
student_id INT,
material_id INT,
screen_time INT,
scroll_percentage INT,
completed ENUM('yes','no') DEFAULT 'no',
quiz_status ENUM('locked','unlocked') DEFAULT 'locked',
FOREIGN KEY (student_id) REFERENCES users(user_id),
FOREIGN KEY (material_id) REFERENCES materials(material_id)
);
CREATE TABLE otp_verification (
otp_id INT AUTO_INCREMENT PRIMARY KEY,
phone VARCHAR(15),
otp_code VARCHAR(6),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
is_used ENUM('yes','no') DEFAULT 'no'
);
6. PROJECT FLOW
1. User registers using phone
2. OTP verification
3. Admin assigns role and semester
4. Teacher uploads materials
5. Student learns topic-wise
6. Quiz unlocks next topic
7. System calculates progress
7. SECURITY FEATURES
- OTP authentication
- Role based authorization
- Content protection
- Semester restriction
8. EXPECTED OUTPUT
- Responsive Web Application
- Admin Panel
- Teacher Panel
- Student Dashboard
- Analytics Reports
--------------------------------------------------------------------