Context

Existing survey platforms like Google Forms have limitations: rigid templates, limited customisation, and basic analytics. This project was an opportunity to understand how these systems work from the ground up - building every layer from servlet request handling to SQL schema design to frontend UI - while addressing the specific gaps users report with existing tools.

Objective

Build a web-based survey platform from scratch using Java Servlets and JSP - supporting template selection, custom question creation, link sharing, real-time response collection, and dashboard analytics - with simpler, more intuitive UX than existing solutions.

Key Contributions

User & Auth Module

User registration, login, and profile management. Session management via Java servlet filters. Admin dashboard for platform oversight. Password hashing for secure credential storage.

Template Selection

Pre-built survey templates for common use cases: feedback, research, event registration, NPS. Users select a template as a starting point and customise - reducing creation time vs. starting blank.

Form Builder

Drag-and-drop style question editor supporting multiple choice, checkboxes, short text, paragraph, linear scale, and rating questions. Themes and branding per survey - logo, colours, custom thank-you message.

Link Generation & Sharing

Each survey gets a unique shareable URL. Configurable response limits, closing dates, and password protection for restricted surveys. One-click copy and email share functionality.

Real-Time Response Dashboard

Response data visualised in real-time as submissions come in - bar charts for multiple choice, word clouds for text, numerical distributions for scale questions. CSV export for offline analysis.

Data Management

Responses stored with timestamps, user agent, and optional respondent identifier. Creators can view individual responses or aggregated views. Completed surveys archived, not deleted - data preserved.

Technologies

CategoryDetails
LanguageJava - core application logic, servlet processing
Web TechJava Servlets + JSP - HTTP request handling, server-side rendering
DatabaseMySQL - survey definitions, responses, user accounts
FrontendHTML / CSS / JavaScript - responsive, accessible survey UI
Session MgmtJava Servlet Filters - authentication, session validation
AnalyticsServer-side aggregation + Chart.js - real-time response visualisation

Impact

6
core platform modules
Real-time
response charts update as submissions arrive
Full
survey lifecycle: create, share, collect, analyse
  • Full survey lifecycle implemented - from template selection to analytics export
  • Real-time response dashboard updates without page refresh (polling-based)
  • Multiple question types with per-survey theming and branding
  • Cleaner UX than Google Forms for the core creation and sharing workflow

Conclusion

The Online Survey System was an exercise in building something familiar from scratch - which forces you to understand every layer. Implementing session management, form validation, SQL schema design, and response aggregation in raw Java without a full framework taught me what frameworks are actually doing under the hood. That foundation made later framework-based development much more informed.