Hi, I'm Stefan Zhang

Y11 Student at KIC

Welcome to my personal website. Explore my projects and study resources.

Stefan Zhang - KIC Y11 Student
Stefan Zhang

About Me

I'm a Y11 student at King's School Canterbury International College (KIC), focusing on academic excellence and personal growth.

I'm passionate about technology, problem-solving, and continuous learning. This website serves as a portfolio of my projects and a study tool for my exams.

Computer Science Mathematics Web Development Problem Solving

My Projects

Here are some of my recent works and projects

Project 1

AI-Powered Revision Hub

A comprehensive study tool that generates quizzes from mock papers, tracks mistakes, and monitors progress.

Explore
Project 2

Personal Portfolio Website

The website you're currently viewing - built to showcase my work and serve as a learning resource.

View Project
Project 3

Exam Preparation Tool

A specialized tool for KIC students to prepare for exams with subject-specific practice questions.

View Project

Study Hub

A dedicated space for exam preparation - upload mock papers, track mistakes, and generate practice quizzes automatically.

Upload Mock Papers
AI Quiz Generation
Track Mistakes
Monitor Progress

Get In Touch

Feel free to reach out via email for any questions or collaboration

School

King's School Canterbury International College

Year

Year 11

`; studyIframe.srcdoc = studySystemHTML; } // 学习系统UI初始化 function initStudySystemUI() { updateDashboardStudyHub(); renderMistakesStudyHub(); renderNotesStudyHub(); renderQuizzesStudyHub(); renderProgressStudyHub(); renderFilesStudyHub(); updateQuizGenerationButtonStudyHub(); // 设置随机学习提示 document.getElementById('dailyTip').textContent = studyTips[Math.floor(Math.random() * studyTips.length)]; } // 切换学科 function changeSubjectStudyHub(subject) { currentSubject = subject; updateDashboardStudyHub(); renderMistakesStudyHub(); renderNotesStudyHub(); renderQuizzesStudyHub(); renderProgressStudyHub(); renderFilesStudyHub(); } // 切换标签 function switchTabStudyHub(tabName) { const sections = document.querySelectorAll('#study-system-iframe .section'); const buttons = document.querySelectorAll('#study-system-iframe .nav-btn'); sections.forEach(s => s.classList.remove('active')); buttons.forEach(b => b.classList.remove('active')); document.querySelector(`#study-system-iframe #${tabName}`).classList.add('active'); event.target.classList.add('active'); } // 文件上传处理 function handleFileUpload(event) { const files = event.target.files; const validTypes = ['application/pdf', 'image/jpeg', 'image/png', 'image/jpg', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document']; let hasInvalid = false; for (let file of files) { if (!validTypes.includes(file.type)) { hasInvalid = true; continue; } // 检查文件是否已存在 const fileExists = uploadedFiles.some(f => f.name === file.name && f.size === file.size); if (!fileExists) { uploadedFiles.push({ id: Date.now() + Math.random(), name: file.name, size: file.size, type: file.type, date: new Date().toISOString(), subject: currentSubject }); } } if (hasInvalid) { document.querySelector('#study-system-iframe #uploadError').style.display = 'block'; setTimeout(() => { document.querySelector('#study-system-iframe #uploadError').style.display = 'none'; }, 3000); } renderFilesStudyHub(); saveStudySystemData(); updateQuizGenerationButtonStudyHub(); // 重置文件输入 document.querySelector('#study-system-iframe #fileInput').value = ''; } // 删除文件 function deleteFileStudyHub(id) { uploadedFiles = uploadedFiles.filter(file => file.id !== id); renderFilesStudyHub(); saveStudySystemData(); updateQuizGenerationButtonStudyHub(); } // 渲染文件列表 function renderFilesStudyHub() { const fileList = document.querySelector('#study-system-iframe #fileList'); const filteredFiles = uploadedFiles.filter(file => file.subject === currentSubject); if (filteredFiles.length === 0) { fileList.innerHTML = '

No files uploaded yet.

'; return; } fileList.innerHTML = ''; filteredFiles.forEach(file => { const fileSize = (file.size / (1024 * 1024)).toFixed(2); const date = new Date(file.date).toLocaleDateString(); let fileIcon = '📄'; if (file.type.includes('pdf')) fileIcon = '📄'; if (file.type.includes('image')) fileIcon = '🖼️'; if (file.type.includes('word')) fileIcon = '📝'; const fileItem = document.createElement('div'); fileItem.className = 'file-item'; fileItem.innerHTML = `
${fileIcon} ${file.name}

${fileSize} MB • ${date}

`; fileList.appendChild(fileItem); }); } // 更新测验生成按钮状态 function updateQuizGenerationButtonStudyHub() { const generateBtn = document.querySelector('#study-system-iframe #generateQuizzesBtn'); const filteredFiles = uploadedFiles.filter(file => file.subject === currentSubject); generateBtn.disabled = filteredFiles.length === 0; } // 从文件生成测验 function generateQuizzesFromFiles() { const filteredFiles = uploadedFiles.filter(file => file.subject === currentSubject); if (filteredFiles.length === 0) { document.querySelector('#study-system-iframe #uploadError').style.display = 'block'; setTimeout(() => { document.querySelector('#study-system-iframe #uploadError').style.display = 'none'; }, 3000); return; } // 显示进度 document.querySelector('#study-system-iframe #aiProgress').style.display = 'block'; document.querySelector('#study-system-iframe