Add Dockerized LAMP stack and website skeleton for ALWISP
- Docker Compose orchestrating PHP 8.2/Apache web container and MySQL 8.0
- Dockerfile with GD, PDO, MySQLi extensions and security hardening
- Apache vhost with mod_rewrite, deflate, expires, and security headers
- PHP config with OPcache enabled and display_errors off
- MySQL init schema (contacts, coverage_zones tables)
- Front-controller PHP router (index.php → pages/)
- Responsive homepage: hero, stats bar, services cards, why section, coverage CTA
- Stub pages: services, coverage, about, contact (with working form skeleton), 404
- CSS design system using brand palette from logo (navy #0d1b3e → teal #00bcd4 + orange #f57c00 accents)
- JS: nav scroll/mobile toggle, IntersectionObserver counter animation, scroll reveal
https://claude.ai/code/session_015wpwmheufcxkBuXivrSHhd
2026-02-28 21:39:21 +00:00
|
|
|
<?php
|
|
|
|
|
// Simple front controller — expand routing here later
|
|
|
|
|
$path = trim($_GET['path'] ?? '', '/');
|
|
|
|
|
|
|
|
|
|
// Map paths to page includes
|
|
|
|
|
$pages = [
|
|
|
|
|
'' => 'pages/home.php',
|
|
|
|
|
'services' => 'pages/services.php',
|
Overhaul site content to reflect custom networking solutions focus
Remove all ISP-subscriber framing (coverage areas, residential plans,
500+ customers, backbone capacity) and replace with accurate positioning
as a custom networking and managed services company.
Key changes:
- Hero: new headline and CTA focused on custom solutions
- Stats bar: Deployments, Uptime SLA, 24/7 support, response time
- Services cards: Mesh Networking, Managed Services, Access Control, IP Cameras
- Why section: founding story (tornado relief, tent deployment, charity event)
- CTA band: contact-focused instead of address lookup form
- Services page: expanded to 5 service areas with real content cards;
removed Residential/Business internet sections
- About page: full founding story, mission statement, 4-step approach
- Portfolio page: repurposed from Coverage Map; shows deployment types
including the disaster relief origin story
- Nav: Coverage → Portfolio, Get Connected → Request a Quote
- Footer: updated service links and tagline
- Router: coverage route renamed to portfolio
https://claude.ai/code/session_015wpwmheufcxkBuXivrSHhd
2026-03-01 02:06:23 +00:00
|
|
|
'portfolio' => 'pages/coverage.php',
|
Add Dockerized LAMP stack and website skeleton for ALWISP
- Docker Compose orchestrating PHP 8.2/Apache web container and MySQL 8.0
- Dockerfile with GD, PDO, MySQLi extensions and security hardening
- Apache vhost with mod_rewrite, deflate, expires, and security headers
- PHP config with OPcache enabled and display_errors off
- MySQL init schema (contacts, coverage_zones tables)
- Front-controller PHP router (index.php → pages/)
- Responsive homepage: hero, stats bar, services cards, why section, coverage CTA
- Stub pages: services, coverage, about, contact (with working form skeleton), 404
- CSS design system using brand palette from logo (navy #0d1b3e → teal #00bcd4 + orange #f57c00 accents)
- JS: nav scroll/mobile toggle, IntersectionObserver counter animation, scroll reveal
https://claude.ai/code/session_015wpwmheufcxkBuXivrSHhd
2026-02-28 21:39:21 +00:00
|
|
|
'about' => 'pages/about.php',
|
|
|
|
|
'contact' => 'pages/contact.php',
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
$page = $pages[$path] ?? 'pages/404.php';
|
|
|
|
|
$pageFile = __DIR__ . '/' . $page;
|
|
|
|
|
|
|
|
|
|
include __DIR__ . '/includes/header.php';
|
|
|
|
|
include file_exists($pageFile) ? $pageFile : __DIR__ . '/pages/404.php';
|
|
|
|
|
include __DIR__ . '/includes/footer.php';
|
|
|
|
|
?>
|