Welcome to Hilink, a full-scale, modern travel and wilderness camping web application built with Next.js 16 (App Router), React 19, TypeScript, and Tailwind CSS v4.
Originally a single-page landing site, Hilink has been expanded into a complete multi-page travel platform featuring interactive destination discovery, dynamic campsite reservation pages, guided expedition itineraries, service deep-dives, membership pricing matrixes, company sustainability background, contact inquiry workflows, and full user authentication.
- Newly Added Pages & Features
- Design System & Dark/Light Mode Styling
- Architecture & Data Flow
- Technologies & Libraries Used
- Folder Structure
- Getting Started
- Scripts & Production Build
The platform now features 8 dedicated pages & dynamic sub-routes, built with full interactive state and responsive design:
- Hero Banner (
components/Hero.tsx): Headline, elevation cards, review ratings, download CTAs. - Top Destinations Showcase (
components/TopDestinations.tsx): High-converting showcase of top-rated campgrounds (Putuk Truno, Aguas Calientes, Emerald Lake) with elevation badges, prices, and direct detail links. - Campsite Horizontal Scroll (
components/Camp.tsx&CampSite.tsx): Drag/scroll gallery of featured campsites and participant stats. - Wilderness Guide Overlay (
components/Guide.tsx): Navigation map overlay showing estimated track times and elevation points. - Features Breakdown (
components/Features.tsx&FeatureItems.tsx): 4 core highlights for offline maps, adventure scheduling, AR technology, and new locations. - Wilderness Safety & Emergency SOS Banner (
components/SafetyBanner.tsx): Prominent 24/7 satellite emergency SOS beacon callout with zero-cell GPS lock badges. - Climber Community Testimonials (
components/Testimonials.tsx): Real ratings, user avatars, and verified trek quotes from 120,000+ climbers. - Outdoor Journal & Eco-Trek Articles (
components/BlogNews.tsx): Wilderness articles on offline navigation tips, Leave-No-Trace ethics, and ultralight gear checklists. - Get App CTA (
components/GetApp.tsx): Mobile app download CTA for iOS and Android.
- Next.js 16 Dynamic Segment: Routes dynamically to any destination ID (
/destinations/putuk-truno,/destinations/emerald-lake,/destinations/aguas-calientes, etc.). - Header & Stats Bar: Full-width cover imagery with elevation, hike duration, rating score, and best season badges.
- Interactive Booking Widget:
- Check-in date picker.
- Camper count selector (1 Camper, 2 Campers, 4 Family Site, 6 Group Site).
- Add-on checkbox for ultralight tent & sleeping bag rental (+$35).
- Automatic total price calculation.
- State-driven booking confirmation modal with instant feedback.
- Wilderness Guidelines: Detailed overview, included amenities list, and Leave-No-Trace rules.
- Expedition Packages: Multi-day guided treks (e.g., 3-Day Truno Alpine Summit Hike, 5-Day Machu Picchu Cloud Ridge, Weekend Emerald Lake Kayak & Camp, 7-Day Extreme Glacier Survival).
- Day-by-Day Itinerary Modal: Interactive timeline popup breaking down daily routes, checkpoints, and activities.
- Inclusions & Difficulty: Displays certified guide credentials, meals, porters, safety equipment, and max group sizes.
- Instant Expedition Booking: State-managed reservation confirmation inside the itinerary modal.
- Interactive Service Explorer: Switch seamlessly between 6 core outdoor services:
- 3D AR Offline Maps (Patented LiDAR terrain technology).
- Certified Outdoor Guides (Background-checked wilderness leaders).
- Smart Gear Rental Network (Sanitized ultralight equipment delivery).
- 24/7 Satellite SOS Beacon (Global emergency search & rescue relay).
- AI Adventure Planner (Micro-climate weather and energy calculations).
- Global Climbers Community (Crowd-sourced trail logs and real-time hazard reports).
- Detail Showcase Card: Interactive card updating live with full descriptions, key capability lists, and upgrade CTAs.
- Monthly / Annual Billing Toggle: Dynamic price calculations with a highlighted Save 25% badge for annual billing.
- Tiered Membership Cards:
- Explorer Free ($0/mo) - Basic offline 2D maps and community access.
- Pro Hiker ($19/mo or $14/mo billed annually) - Unlimited 3D AR maps, turn-by-turn audio, satellite tracking, 15% gear rental discount. (Most Popular)
- Expedition Elite ($49/mo or $39/mo billed annually) - 24/7 Satellite SOS guarantee, guide consultations, 25% discounts.
- Feature Comparison Matrix: Table comparing map limits, live GPS lock, SOS priority, gear discounts, and guide consultations.
- Expandable FAQ Accordion: Interactive Q&A accordion addressing common billing, safety, and map download questions.
- Impact Stat Counters:
- 120K+ Trails Mapped
- 45K+ Guided Treks
- 100% Carbon Neutral Operations
- 4.9β Community Rating
- Sustainability Charter: Details 1% For The Planet contributions, leave-no-trace ethics, and national park trail restoration.
- Leadership Team Grid: Profiles of Hilink founders, GIS engineers, and wilderness rescue leaders.
- Interactive Inquiry Form: Category selector, trip departure urgency flag, message validation, and state-driven submission confirmation.
- Satellite Emergency SOS Banner: Pulsing 24/7 hotline banner for active field search & rescue dispatch.
- Global Basecamp Offices: Addresses and contact details for North America HQ (Boulder, CO), European Alpine Hub (Chamonix, France), and Asia-Pacific Trail Center (Pasuruan, Indonesia).
- Sign Up / Register: Account creation form with outdoor experience level selector (Beginner Day Hiker, Intermediate Backpacker, Advanced Mountaineer), terms agreement, social auth buttons (Apple ID, Google), and instant success activation state.
- Sign In / Login: Redesigned login view featuring brand logo, password recovery, social login options, and redirection to
/destinations.
The application includes a dual-theme design system supporting crisp light mode and high-contrast dark mode across all pages and components:
- Page Container: Soft gradient
bg-gradient-to-b from-gray-50 to-white. - Cards & Inputs: Clean white backgrounds (
bg-white), subtle borders (border-gray-100/border-gray-200), and soft drop shadows (shadow-xl/shadow-lg). - Typography: Dark charcoal headings (
text-gray-900) and slate body text (text-gray-700/text-gray-600). - Primary Color Accents: Deep emerald green (
#30AF5B/emerald-600/emerald-700) and teal gradients (from-emerald-950 via-teal-900 to-emerald-900).
- Page Container: Deep dark background
dark:bg-zinc-950/dark:from-zinc-950 dark:to-zinc-900. - Cards & Inputs: Dark zinc containers (
dark:bg-zinc-900), dark borders (dark:border-gray-800), and dark input fields (dark:bg-zinc-800). - Typography: Crisp white titles (
dark:text-white) and light gray body text (dark:text-gray-300). - Navigation & Footer: Semi-transparent dark backdrops (
dark:bg-zinc-950/90), inverted social icon badges (dark:invert), and clean logo containers (dark:bg-white).
ββββββββββββββββββββββββββββββββββββββββββββββββ
β app/layout.tsx (Root) β
β ββββββββββββββββββββββββββββββββββββββββββββ β
β β components/Navbar.tsx β β
β β (Active Link Detection via usePathname) β β
β ββββββββββββββββββββββββββββββββββββββββββββ€ β
β β PAGE ROUTING β β
β β - / (Home Landing) β β
β β - /destinations (Filter Catalog) β β
β β - /destinations/[id] (Dynamic Details) β β
β β - /tours (Guided Expeditions)β
β β - /services (Tech Breakdown) β β
β β - /pricing (Plans & Matrix) β β
β β - /about (Story & Team) β β
β β - /contact (Form & SOS) β β
β β - /register & /login (Authentication) β β
β ββββββββββββββββββββββββββββββββββββββββββββ€ β
β β components/Footer.tsx β β
β ββββββββββββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββ
Static datasets are separated from UI logic and strongly typed with TypeScript interfaces:
DESTINATIONS: Full campsite list with elevation, price, rating, season, and features.TOURS: Expedition packages with day-by-day itineraries and inclusions.SERVICES_LIST: Hilink outdoor technology breakdown and benefit arrays.PRICING_PLANS: Tiered subscription plans with monthly/annual pricing.TEAM_MEMBERS: Leadership profiles.FAQS: Accordion question and answer pairs.
Navbar.tsx: UsesusePathname()to detect active route segments and highlight desktop links and mobile drawer items.Footer.tsx: Connects footer links directly to internal Next.js routes.
app/destinations/[id]/page.tsx: Resolves asynchronous route parameters using React 19use(params).
| Technology / Library | Version | Purpose & Usage |
|---|---|---|
| Next.js | ^16.1.6 |
Next-gen React framework for App Router, dynamic routes ([id]), and image optimization (next/image). |
| React | ^19.0.0 |
Core declarative UI library using hooks (useState, useMemo, use()). |
| TypeScript | ^5.0.0 |
Strongly typed interfaces, props definitions, and compile-time verification. |
| Tailwind CSS | ^4.0.0 |
Utility-first CSS framework for custom responsive design and dark mode styling. |
PostCSS @tailwindcss/postcss |
^4.0.0 |
PostCSS processing engine for Tailwind v4. |
| Framer Motion | ^12.34.3 |
Fluid UI transitions, drawer states, and interactive animations. |
| React Icons | ^5.5.0 |
Vector icon integration. |
@tailwindcss/oxide-linux-x64-gnu |
latest |
Native Linux binary engine for Tailwind CSS v4. |
travel_app/
βββ app/ # Next.js App Router pages & layouts
β βββ favicon.ico
β βββ globals.css # Tailwind CSS imports & root CSS variables
β βββ layout.tsx # Root layout (Navbar, Footer, metadata)
β βββ page.tsx # Main Home landing page
β βββ destinations/ # Destinations page & dynamic subroute
β β βββ page.tsx # Campsite catalog with search & category filters
β β βββ [id]/
β β βββ page.tsx # Dynamic campsite detail page with booking widget
β βββ tours/
β β βββ page.tsx # Guided tours & day-by-day itinerary modal
β βββ services/
β β βββ page.tsx # Technology breakdown & 6 core outdoor services
β βββ pricing/
β β βββ page.tsx # Subscription plans, monthly/annual toggle & FAQs
β βββ about/
β β βββ page.tsx # Mission, impact stats & leadership team grid
β βββ contact/
β β βββ page.tsx # Inquiry form & 24/7 Satellite SOS hotline
β βββ login/
β β βββ page.tsx # Authentication login page
β βββ register/
β βββ page.tsx # User sign-up & experience level registration
βββ components/ # Reusable UI components
β βββ Button.tsx # Reusable button component
β βββ Camp.tsx # Home campsite showcase section
β βββ CampSite.tsx # Individual camp card component
β βββ Features.tsx # Home features section
β βββ FeatureItems.tsx # Feature item card
β βββ Footer.tsx # Global footer component with dark mode support
β βββ FooterColumn.tsx # Footer column helper component
β βββ GetApp.tsx # Mobile app download CTA
β βββ Guide.tsx # Wilderness guide section
β βββ Hero.tsx # Home hero banner
β βββ Navbar.tsx # Sticky header navigation bar with active route hooks
βββ constants/
β βββ index.ts # Strongly typed datasets (Destinations, Tours, Services, FAQs)
βββ public/ # Static assets (PNG images, SVG icons, background patterns)
βββ next.config.ts # Next.js configuration
βββ postcss.config.mjs # PostCSS configuration for Tailwind CSS v4
βββ tsconfig.json # TypeScript compiler settings
βββ package.json # Project dependencies & npm scripts
- Node.js (v18.x or higher recommended)
- npm, yarn, or pnpm
-
Clone & Navigate to Repository
cd travel_app -
Install Dependencies
npm install
-
Run Local Development Server
npm run dev
-
Open in Web Browser Navigate to http://localhost:3000.
| Script | Command | Description |
|---|---|---|
dev |
npm run dev |
Starts local development server with Turbopack |
build |
npm run build |
Compiles production bundle for all 12 static and dynamic routes |
start |
npm run start |
Launches built production server |
lint |
npm run lint |
Evaluates codebase for ESLint standards |
All 12 static and dynamic routes have been compiled and verified with npm run build:
Route (app)
β β /
β β /_not-found
β β /about
β β /contact
β β /destinations
β Ζ /destinations/[id]
β β /login
β β /pricing
β β /register
β β /services
β β /tours