Web engineering

JavaWeb Personal Blog System

Independently delivered requirements, database design, frontend/backend implementation and testing for a blog with publishing, search and comments.

Role
Independent development
Period
2019.11 – 2020.07
Status
Completed
Team
Undergraduate thesis
JavaWeb Personal Blog System cover

Background and problem

The graduation project required going through the full software engineering process end to end: from requirements analysis to database design, coding, testing and documentation, rather than just writing a few pages.

Constraints

  • Solo work over roughly 8 months, so scope had to be controlled.
  • The tech stack was limited to the JavaWeb ecosystem.
  • The system had to be demonstrable, deployable and backed by complete documentation.

Approach and architecture

A classic three-tier structure: presentation layer (JSP/Servlet), business layer, and data access layer (MySQL). The core modules were article management, search and comments, with permissions distinguishing visitors from administrators.

Key decisions

  • Scope convergence: no multi-user support and no rich text editor, to keep the core path high quality.
  • Database first: design the table structures and relationships before writing business code.
  • Documentation in step: requirements, design and test documents were updated alongside development and eventually became the thesis.

Results and measurement

Completed the article publishing, search and comment modules; the system passed functional testing and could be deployed and run, resulting in a graduation thesis of more than 19,000 characters together with supporting documentation.

Technical details

  • Split controllers, views and data access according to the Servlet/JSP MVC layering.
  • Designed the table structures and indexes for articles, comments and search.
  • Covered CRUD, paginated search, comment submission and frontend-backend integration.

Reflection

This was the first time I completed an “engineering” project rather than a “homework” exercise. If I did it again, I would use version control and automated tests instead of manual regression, and I would validate deployment earlier.

Scope and security

This is a static case study. The page does not run project code or collect uploads, logins or visitor data. Metrics come from project records and local experiments; reproduce details from the source or report. Read the site security model →

Command palette

Esc

↑↓ selectEnter runEsc close