phpmailer.send()chatbot.reply(intent)sw.cache(assets)htaccess.headers()seo.robots.txttour.embed()
← Back to projects
Case study

Service business website · PHP backend · Chatbot · 3D page · SEO

8
Core modules
PHP
Contact backend
SEO
Full setup
3D
Service page
HTML / CSS / JSPHPPHPMailerApacheService WorkerSEOWebP3D scan page
Jump to proof of work

Overview

I designed and built a service business website prototype for a service company.

The project started as an earlier static version and was later rebuilt into a more complete second version with improved structure, optimized assets, contact handling, service pages, chatbot logic, SEO files, security headers, and a dedicated 3D scan page.

The goal was to create a professional business-facing website that could present services clearly, explain pricing, collect customer inquiries, support multiple service areas, and give the company a more modern digital presence.

This project demonstrates frontend structure, business-page thinking, form handling, performance awareness, and practical website requirements beyond a simple landing page.

01 / Problem

The challenge

The company needed a clearer and more professional online presentation for its services.

The website had to explain different service areas, present pricing information, build trust, provide contact options, and make it easy for potential customers to request an offer.

The challenge was to create a website that looked modern and trustworthy while still being practical: clear navigation, service sections, contact forms, legal information, SEO setup, and performance-friendly assets.

02 / Role

What I did

I designed and built the website prototype.

My work covered the full build: the website structure, homepage, service sections, pricing and contact sections, and a dedicated 3D scan page.

On the backend, I implemented the PHP contact form with PHPMailer SMTP sending, the JavaScript chatbot logic, and the SEO files (robots, sitemap, manifest, favicons).

For deployment readiness, I configured Apache .htaccess rules with security headers, added service worker caching, and optimized the frontend assets.

03 / Architecture

Project structure

01Homepage
02Service Sections
03Pricing / Trust / Team / FAQ / Contact
043D Scan Page
05JavaScript UI Logic
06Chatbot Logic
07Contact Form Validation
08PHP Contact Backend
09PHPMailer / SMTP Email Sending
10SEO Files: robots.txt / sitemap.xml / manifest
11Service Worker / Offline Page
12Apache .htaccess Security + Caching Headers
04 / Modules

Core modules

01

Corporate homepage

The homepage presents the company as a professional service provider. It includes navigation and hero section, service overview and pricing, company trust elements (team, customer signals, FAQ), and the contact section with Impressum and Datenschutz. The goal is to make the company understandable and trustworthy for visitors who may not yet know exactly which service they need.

02

Service presentation

The website explains multiple service areas through structured sections. The main service categories include moving/transport, assembly and disassembly, storage, and 3D room capture and scanning. This makes the website more than a simple business card. It becomes a service explanation platform.

03

3D scan page

The second version includes a dedicated 3D scan page. This page explains 3D room capture, 360° tours, floor plans, Dollhouse View, measurement features, add-ons, technical details, example project presentation, and contact options. This connects the corporate website with the larger 3D scan service concept.

04

Contact form backend

The project includes PHP-based contact form handling. The backend includes form processing, validation, response handling, rate limiting, honeypot spam protection, logging, and PHPMailer-based email sending via SMTP.

05

Chatbot logic

The website includes JavaScript chatbot logic. The chatbot supports quick replies and intent-based answers for service topics such as pricing, moving, assembly, storage, contact, and 3D scan information. This gives the prototype an interactive layer instead of only static content.

06

SEO and discoverability

The project includes SEO-related files and metadata patterns including robots.txt, sitemap.xml, site.webmanifest, favicon files, Open Graph image assets, and page descriptions.

07

Performance and offline support

The website includes optimized assets, minified CSS/JS files, WebP images, caching rules, and a service worker. The service worker caches important assets and provides fallback behavior for offline or poor-network situations.

08

Security and server configuration

The project includes .htaccess configuration for compression, caching, and security-related HTTP headers including content type protection, frame protection, referrer policy, content security policy, HSTS, and permissions policy.

05 / Decisions

Technical decisions

Static frontend with PHP backend

The website was built with a classic deployment model: static HTML/CSS/JavaScript for the frontend and PHP for form handling. This makes the project suitable for traditional shared hosting environments.

Dedicated contact backend

Instead of using only a mailto link, the project includes backend form processing, validation, SMTP sending, and JSON responses. This makes the contact flow more professional and closer to typical business use.

Chatbot as interaction layer

The chatbot provides quick answers for common user questions and helps guide visitors toward contact or service information.

SEO-ready structure

The website includes metadata, robots, sitemap, favicons, manifest, and Open Graph assets to support search and sharing readiness.

Performance-oriented assets

The second version uses optimized images, minified assets, caching rules, and a service worker to improve load behavior and reliability.

Dedicated 3D scan page

The 3D scan page gives the website a stronger technical/service differentiation and connects it with the 3D scan business concept.

06 / Quality

Reliability and quality

Responsive layoutService-based navigationContact form validationPHP backend processingSMTP email sendingHoneypot spam protectionRate limitingLoggingSEO filesSitemap and robots setupService worker cachingOffline fallback pageSecurity headersCaching and compression rulesOptimized imagesDedicated 3D scan page
07 / Impact

The outcome

The project shows that I can build more than automation workflows.

It demonstrates the ability to create a complete business website prototype with frontend structure, service positioning, contact handling, SEO setup, performance optimization, and basic operational backend logic.

The main value of the project is that it turns a company's services into a clear digital presentation: visitors can understand the offer, compare service areas, learn about 3D scanning, contact the company, and interact with the website through forms and chatbot logic.

08 / Stack

Tech stack

HTML / CSS / JSFrontend structure, styling, and UI logic
PHPContact form backend processing and validation
PHPMailerSMTP-based email sending for contact forms
Apache.htaccess rules for security headers, caching, and compression
Service WorkerAsset caching and offline fallback support
SEOrobots.txt, sitemap.xml, manifest, Open Graph metadata
WebPOptimized image formats for performance
3D scan pageDedicated 3D scan page with tour integration
09 / Proof

Proof / Evidence

This case study is based on a service business website prototype built in two iterations. The original prototype is not published, since it contains company names, contact details, addresses, team names, partner references, internal comments, private assets, domain references, credentials, and logs.

Public proof shown on this page

HomepageService Sections3D Scan PageContact FormPHP Backend ValidationChatbot LogicPHPMailer / SMTPSEO FilesService Worker.htaccess SecurityHeaders

A website architecture diagram showing the service business website prototype: static frontend with service sections, chatbot, PHP contact backend, SEO files, service worker caching, and Apache security configuration.

Public code & documentation

Valentino-Veljanovski / company-web-page-snippetsPublic

Reference patterns extracted from this prototype: privacy-conscious PHPMailer contact backend (anonymized logging, sliding-window rate limiting, honeypot, Origin allow-list), Apache .htaccess with security headers and three-tier caching, network-first service worker, and SEO files including robots.txt, sitemap.xml with hreflang and image schema, and PWA manifest.

phpphpmailerservice-workerhtaccessapacheseopwaprivacy-consciousstatic-sitecase-study
View on GitHub

Code excerpt: IP anonymization

The contact handler logs each request for operational visibility but follows data-minimization principles. Before any IP address is written to a log file, the last octet (IPv4) or last segment (IPv6) is replaced with a placeholder. The log proves the request happened without preserving who made it.

send-contact.phpphp
// Anonymized client IP for logging.
// Replace last octet of IPv4 (192.168.1.123 -> 192.168.1.xxx)
// or last segment of IPv6 before persisting to log files.

function getClientIP(?bool $anonymize = null): string {
    if ($anonymize === null) {
        $anonymize = defined('IP_ANONYMIZATION') ? IP_ANONYMIZATION : false;
    }

    $headers = [
        'HTTP_CF_CONNECTING_IP',
        'HTTP_X_FORWARDED_FOR',
        'HTTP_X_REAL_IP',
        'REMOTE_ADDR',
    ];
    $ip = 'unknown';

    foreach ($headers as $header) {
        if (!empty($_SERVER[$header])) {
            $ip = $_SERVER[$header];
            if (strpos($ip, ',') !== false) {
                $ip = trim(explode(',', $ip)[0]);
            }
            if (filter_var($ip, FILTER_VALIDATE_IP)) {
                break;
            }
        }
    }

    if ($anonymize && $ip !== 'unknown') {
        if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
            $ip = preg_replace('/\.\d+$/', '.xxx', $ip);
        } elseif (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
            $ip = preg_replace('/:[^:]+$/', ':xxxx', $ip);
        }
    }

    return $ip;
}

Full handler in snippets/send-contact.php. The repository also covers the Apache .htaccess production config, service worker offline-first cache strategy, robots.txt + sitemap.xml + PWA manifest setup, and the architecture documentation behind all of it. The original prototype was never deployed to production; the public repository documents the patterns, not the full application.

Prototype Publication Note

This project is a service business website prototype, presented as a frontend/product build. The original prototype was never deployed to production. The public version uses demo content; company names, logos, contact details, addresses, team names, partner references, domain references, internal comments, logs, configuration files, and private business context are not part of the public material. The source repository documents the architecture patterns rather than republishing the full prototype.

← Back to all projects