← Back to Home

📊 Feedback System — Project Report

Student, Teacher & Admin Portal · Built by P Vishnuvardhan Reddy
HTML / CSS / JS Firebase Firestore Chart.js 5,434 Lines of Code
📋 Project Overview
📦 RepositoryVishnumgit/feedback
📝 DescriptionA multi-role feedback collection and analytics system for educational institutions with Student, Teacher, and Admin portals
👤 AuthorP Vishnuvardhan Reddy (Vishnumgit)
🏫 InstitutionMGIT — Mahatma Gandhi Institute of Technology
📅 Created12 March 2026
🌐 VisibilityPublic
🗃 Total Size137 KB (15 files + 2 folders)
💻 LanguageHTML, CSS, JavaScript (Vanilla — No frameworks)
🗄 DatabaseFirebase Firestore (Cloud) + localStorage (Offline)
📊 ChartsChart.js 4.4.0 (Radar, Bar, Doughnut, Trend)
📈 Project Statistics
5,434
Lines of Code
15
Source Files
20
Git Commits
3
User Roles
7
Admin Tabs
6
Teacher Views
7
Firestore Collections
2
Report Generators
🏗 System Architecture
👤 Student Portal
📝 Feedback Form
🗄 localStorage
🔥 Firebase Firestore
👨‍🏫 Teacher Dashboard
📊 Analytics Engine
🗄 data.js
📄 HTML Report
🔑 Admin Panel
👥 User Mgmt
+
📋 Assignments
+
📊 Reports

🖥 Frontend

  • Vanilla HTML/CSS/JS
  • Dark theme UI (CSS vars)
  • Chart.js 4.4.0
  • Responsive sidebar layout
  • SVG inline charts for reports
  • Inter font (Google Fonts)

🗄 Data Layer

  • localStorage primary store
  • Firebase Firestore cloud sync
  • Background non-blocking sync
  • Auto-seed on first visit
  • Offline-first architecture
  • 7 data collections

🔒 Auth System

  • Role-based (Admin/Teacher/Student)
  • Session via localStorage
  • Login page per role
  • Protected dashboard routes
  • Email domain validation
  • Password-based login
🔥 Firebase Firestore Schema
CollectionlocalStorage KeyPurpose
userssfft_usersAll student, teacher, admin accounts
subjectssfft_subjectsAcademic subjects (Math, Physics, etc.)
questionnairessfft_questionnairesSubject-specific feedback question sets
enrollmentssfft_enrollmentsStudent-teacher assignment mappings
responsessfft_responsesSubmitted feedback with scores & comments
attendancesfft_attendanceStudent attendance records per section
settingssfft_settingsCollege name, domain, min threshold
📁 File Structure
FileLinesSizePurpose
admin-dashboard.html1,968104 KBFull admin panel (7 tabs, reports, user mgmt)
teacher-dashboard.html87749 KBTeacher portal (analytics, charts, report gen)
student-dashboard.html48925 KBStudent portal (profile, feedback status)
feedback-form.html26112 KBFeedback submission form
style.css52324 KBGlobal dark theme styles
data.js30917 KBlocalStorage data layer (CRUD, analytics)
firebase-sync.js23710 KBFirestore background sync
charts.js1254 KBChart.js rendering helpers
auth.js763 KBAuthentication & session management
firebase-config.js18646 BFirebase initialization
fix_emojis.js993 KBEmoji compatibility fixes
index.html633 KBLanding page / role selection
admin-login.html1276 KBAdmin login page
teacher-login.html1256 KBTeacher login page
student-login.html1376 KBStudent login page
🚀 Features by Portal

🔑 Admin Panel (7 Tabs)

👥 User Management

Create, edit, delete students/teachers. Bulk CSV import. Select All + Delete Selected with Firestore sync.

CRUDBulk Import

📚 Subjects & Questionnaires

Add/remove subjects. Build multi-section feedback questionnaires per subject.

Dynamic FormsMulti-Section

👥 Teacher Assignment

Assign students to teachers with visual checklist cards. Roll No display. Section grouping.

Visual CardsRoll No

💬 Feedback Oversight

View all submissions with filters. Select All checkbox. Delete Selected + Clear All with Firestore sync.

FiltersFirestore Delete

📊 Reports & Analytics

Institution-wide charts. Per-teacher breakdown. Downloadable HTML report with SVG charts.

ChartsDownload Report

📋 Attendance + ⚙ Settings

Upload CSV attendance. 75% threshold gate. College name, domain, min threshold config.

CSV UploadConfig

👨‍🏫 Teacher Dashboard

📊 Performance Overview

Score cards, radar chart, bar chart, trend line. Status banner. Category breakdown.

📄 Report Generator

Beautiful HTML report with SVG charts, summary cards, data table, comments. Print/PDF.

🎓 Student Portal

📝 Feedback Submission

Multi-section questionnaire with 1-5 star ratings. Anonymous option. Attendance-gated.

👤 Student Dashboard

Profile with Roll No. Assigned teachers list. Submission status per teacher.

🔧 Development History
Show Roll No in student dashboard profileFEAT
Add Roll No to user modal + Delete Selected usersFEAT
Normalize CSV column names for bulk importFIX
Unique user IDs to prevent overwritesFIX
Batch insert for bulk import — single writeFIX
Batch delete users + clean all related Firestore dataFIX
Enhanced CSV export with section scores & summary rowFEAT
Clear All Enrollments + Clear All Attendance buttonsFEAT
Feedback clear buttons + checkboxes + Firestore syncFEAT
Rich HTML reports with SVG charts (Teacher + Admin)FEAT
Roll No in Teacher Assignment student cardsFEAT
🛠 Technology Stack

Frontend

  • HTML5 (Semantic)
  • CSS3 (Custom Properties)
  • Vanilla JavaScript (ES6+)
  • Chart.js 4.4.0
  • SVG (Inline Charts)
  • Google Fonts (Inter)

Backend / Database

  • Firebase Firestore (NoSQL)
  • Firebase Compat SDK
  • localStorage (Offline)
  • Background Sync Pattern
  • Batch Write Operations
  • Auto-seed on First Run

DevOps / Tools

  • GitHub (Version Control)
  • CodeWords (AI Automation)
  • Pipedream (GitHub API)
  • 20 Commits in 1 Day
  • Zero-framework approach
  • No build step needed