Skip to Content
Apps & ServicesMarketing Website

Marketing Website

Overview

The Marketing Website (siyahfy.com) is the public-facing website for the Siyahfy platform. It serves as the primary landing page, showcasing product features, pricing plans, testimonials, blog content, and providing sign-up/demo request flows. It also handles the vendor onboarding funnel (sign-up, sign-in, auth callbacks).

Users: Prospective vendors, Visitors, Blog readers

Tech Stack

TechnologyVersionPurpose
Next.js14.xReact framework with App Router
React18.xUI library
TypeScript5.xType safety
Tailwind CSS3.xUtility-first styling
Three.js0.1803D graphics and WebGL effects
OGL1.xLightweight WebGL library
Framer Motion11.xPage and component animations
Radix UIFull suite of accessible UI primitives
React Hook Form7.xForm handling
Zod3.xSchema validation
Tanstack React Query5.xServer state management
Lenis1.xSmooth scrolling
Embla Carousel8.xCarousel/slider component
Sonner1.xToast notifications
Nodemailer8.xContact form email sending
cmdk1.xCommand palette UI

Folder Structure

siyahfy.com/ ├── src/ │ ├── app/ │ │ ├── layout.tsx # Root layout │ │ ├── page.tsx # Homepage │ │ ├── (marketing)/ # Marketing page group │ │ │ ├── newHome/ # Updated homepage variant │ │ │ ├── features/ # Features page │ │ │ ├── pricing/ # Pricing plans page │ │ │ ├── blogs/ # Blog listing │ │ │ ├── changelog/ # Product changelog │ │ │ ├── contact/ # Contact form │ │ │ ├── demo/ # Demo page │ │ │ ├── request-demo/ # Demo request form │ │ │ ├── enterprise/ # Enterprise plan page │ │ │ ├── testimonials/ # Customer testimonials │ │ │ ├── resources/ # Resources & guides │ │ │ ├── privacy/ # Privacy policy │ │ │ └── terms/ # Terms of service │ │ └── auth/ # Authentication pages │ │ ├── sign-in/ # Vendor sign-in │ │ ├── sign-up/ # Vendor registration │ │ └── auth-callback/ # OAuth callback handler │ ├── components/ │ │ ├── global/ # Shared global components │ │ │ ├── animation-container.tsx # Scroll animation wrapper │ │ │ ├── max-width-wrapper.tsx # Content width limiter │ │ │ ├── page-container.tsx # Page layout wrapper │ │ │ ├── primary-cta-button.tsx # Primary CTA button │ │ │ ├── signup-cta-section.tsx # Sign-up call-to-action │ │ │ ├── signup-scroll-prompt.tsx # Scroll prompt animation │ │ │ ├── page-view-tracker.tsx # Analytics page view │ │ │ └── icons.tsx # Custom icon components │ │ ├── navigation/ # Header & footer navigation │ │ ├── auth/ # Auth form components │ │ ├── blog/ # Blog display components │ │ ├── dashboard/ # Mini-dashboard previews │ │ ├── onboarding/ # Onboarding flow components │ │ ├── themes/ # Theme showcase components │ │ ├── support/ # Support/help components │ │ ├── providers/ # Context providers │ │ ├── ui/ # Base UI primitives (shadcn/ui) │ │ └── temporayComponent/ # Experimental components │ ├── actions/ # Server actions │ ├── data/ # Static data & content │ ├── lib/ # Utilities │ │ ├── prisma/ # Prisma client (if used) │ │ └── stripe/ # Stripe integration helpers │ ├── styles/ # Global CSS │ └── utils/ │ ├── constants/ # App constants │ └── functions/ # Utility functions ├── public/ # Static assets └── .github/ └── workflows/ # CI/CD pipelines

Key Routes / Pages

Marketing Pages

RouteDescription
/Homepage with hero, features overview, and CTA
/featuresDetailed platform features breakdown
/pricingSubscription plan comparison
/blogsBlog listing page
/changelogProduct updates and release notes
/contactContact form
/demoInteractive demo page
/request-demoDemo request form
/enterpriseEnterprise plan details
/testimonialsCustomer success stories
/resourcesGuides and documentation links
/privacyPrivacy policy
/termsTerms of service

Authentication Pages

RouteDescription
/auth/sign-inVendor sign-in page
/auth/sign-upNew vendor registration
/auth/auth-callbackOAuth callback handler

Animations & Visual Effects

The marketing site makes heavy use of animations to create an engaging experience:

Three.js / OGL

  • 3D hero sections with WebGL-rendered backgrounds
  • Interactive 3D elements that respond to mouse movement
  • Particle effects and geometric animations

Framer Motion

  • Scroll-triggered animations via the animation-container component
  • Page transition animations
  • Staggered content reveals on scroll
  • Interactive hover states on feature cards

Lenis

  • Smooth scrolling across the entire site for a polished feel
  • Custom scroll physics for a native-like experience

Key Components

ComponentPurpose
animation-container.tsxWraps content with scroll-triggered fade/slide animations
max-width-wrapper.tsxConstrains content to maximum width with padding
page-container.tsxStandard page layout with consistent spacing
primary-cta-button.tsxAnimated primary call-to-action button
signup-cta-section.tsxReusable sign-up CTA block with copy
signup-scroll-prompt.tsxAnimated scroll-down indicator
page-view-tracker.tsxTracks page views for analytics
navigation/Responsive header with mobile menu and footer
themes/Theme showcase gallery for the marketplace
onboarding/Multi-step vendor onboarding wizard

API Communication

The marketing site primarily uses:

  • Server Actions (src/actions/) for form submissions (contact, demo requests)
  • React Query for client-side data fetching (blog posts, pricing data)
  • Nodemailer for server-side email sending from contact forms
  • Backend API for authentication and vendor registration

Environment Variables

VariableDescription
NEXT_PUBLIC_APP_URLMarketing site URL
NEXT_PUBLIC_API_URLBackend API URL
NEXT_PUBLIC_DASHBOARD_URLVendor dashboard URL
SMTP_HOST / SMTP_USER / SMTP_PASSEmail configuration
DATABASE_URLDatabase connection (if Prisma is used)
STRIPE_SECRET_KEY / STRIPE_PUBLISHABLE_KEYStripe keys (if applicable)