“FISH” is a fully functional, custom-built blog platform dedicated to marine creatures. Designed entirely from scratch without relying on pre-built Content Management Systems (like WordPress), this project serves as a comprehensive demonstration of web application architecture, encompassing frontend design, server-side processing, and relational database management.

The goal was to create a visually engaging, secure, and easily manageable platform that handles everything from user authentication to complex media storage.

AuthorsJedrzej Golaszewski
TitleFish
StatusCompleted
DateJan 12, 2026
Tech stackHTML5, CSS3, Bootstrap, PHP, MySQL, Docker
Links

Technology Stack

The application is built on a containerized LAMP-style architecture, ensuring a consistent and isolated development environment.

  • Frontend: HTML5, CSS3 (Custom Glassmorphism styling), Bootstrap (Carousels & Navigation), JavaScript (Client-side validation & dynamic fetching)
  • Backend: PHP 8.2 (Session management, CRUD operations, routing)
  • Database: MySQL 8.0 (Relational data structuring, LONGBLOB media storage)
  • DevOps & Infrastructure: Docker & Docker Compose

Key Features

  • Secure Authentication: Custom Login and Registration system with distinct access levels (Admin vs. Standard User).

  • Dynamic UI/UX: Features a sleek “glassmorphism” aesthetic, accompanied by a dynamic JavaScript-powered homepage carousel and a responsive blog post feed.

  • Admin Content Management: * Rich post creation including titles, descriptions, and dynamic paragraph sections.

  • Custom image handling for Banners (16:9) and Thumbnails (4:3).

  • Soft-delete functionality for easy post management directly from the feed.

  • Self-Contained Storage: Images are encoded and stored directly within the MySQL database as LONGBLOBs, keeping post data portable and self-contained.


Architecture & System Design

The application operates on a robust three-tier architecture that clearly separates the User Interface from the Backend Logic.

Application Architecture Diagram

Users interact with visual frontend pages (like the home feed), which trigger hidden server-side handlers to execute core tasks. All backend scripts route their data operations through a centralized db.php utility, acting as a single, secure gateway to the MySQL database.

Entity-Relationship Database Diagram


The Home Feed

A clean, responsive feed displaying the latest articles with custom thumbnails.

Article Layout

Engaging post layouts featuring 16:9 banner images and dynamic text sections.

Glassmorphism Login

Secure user authentication interface featuring custom, modern CSS styling.