Skip to content

Latest commit

Β 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Yeldy Cleaning Services Website

A modern, responsive cleaning service website built with React, TypeScript, and GSAP animations. This project showcases pixel-perfect implementation of a Figma design with smooth animations and professional user experience.

🌟 Live Demo

Website: View Live Demo

πŸ“Έ Screenshots

Desktop View

Yeldy Homepage

Mobile View

Mobile Responsive

✨ Features

  • 🎨 Pixel-Perfect Design - Faithful implementation of Figma design
  • πŸ“± Fully Responsive - Works seamlessly on all device sizes
  • πŸš€ Smooth Animations - GSAP-powered scroll animations and interactions
  • ⚑ Modern Tech Stack - React 18, TypeScript, Vite, Tailwind CSS
  • 🎯 Professional UX - Clean navigation and intuitive user flow
  • πŸ“§ Contact Form - Functional contact form with validation
  • 🌟 SEO Optimized - Clean HTML structure and meta tags

πŸ› οΈ Tech Stack

Frontend

  • React 18 - Modern React with hooks
  • TypeScript - Type-safe development
  • Vite - Fast build tool and dev server
  • Tailwind CSS 3 - Utility-first CSS framework
  • GSAP - Professional-grade animations
  • React Router 6 - SPA routing

Backend

  • Express.js - Node.js web framework
  • TypeScript - Server-side type safety

Design & Styling

  • Montserrat Font - Custom Google Fonts integration
  • Custom Color Palette - Yeldy brand colors
  • Responsive Grid - Mobile-first design approach

πŸš€ Quick Start

Prerequisites

  • Node.js 16+ and npm/yarn/pnpm

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/cleaning-service-website.git
    cd cleaning-service-website
  2. Install dependencies

    npm install
    # or
    yarn
    # or
    pnpm install
  3. Environment Setup Create a .env file in the root directory:

    VITE_API_URL=your_api_url_here
  4. Development Server

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev

    Open http://localhost:8080 to view it in the browser.

πŸ—οΈ Building for Production

npm run dev          # Start dev server with hot reload
npm run typecheck    # Run TypeScript type checking
npm test            # Run test suite

Production Build

npm run build       # Build for production
npm start          # Start production server

Build Output

  • dist/spa/ - Static client files
  • dist/server/ - Server build files

πŸ“ Project Structure

β”œβ”€β”€ client/                 # React frontend
β”‚   β”œβ”€β”€ components/         # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ Header.tsx     # Navigation header
β”‚   β”‚   β”œβ”€β”€ Hero.tsx       # Hero section with logo
β”‚   β”‚   β”œβ”€β”€ Services.tsx   # Services showcase
β”‚   β”‚   β”œβ”€β”€ YourNeeds.tsx  # Benefits section
β”‚   β”‚   β”œβ”€β”€ PricesVary.tsx # Pricing factors
β”‚   β”‚   β”œβ”€β”€ Contact.tsx    # Contact form
β”‚   β”‚   └── Footer.tsx     # Site footer
β”‚   β”œβ”€β”€ pages/             # Route components
β”‚   β”‚   β”œβ”€β”€ Index.tsx      # Homepage
β”‚   β”‚   β”œβ”€β”€ About.tsx      # About page
β”‚   β”‚   β”œβ”€β”€ Gallery.tsx    # Gallery page
β”‚   β”‚   └── ContactPage.tsx # Contact page
β”‚   β”œβ”€β”€ App.tsx            # App routing setup
β”‚   └── global.css         # Global styles & theme
β”œβ”€β”€ server/                # Express API backend
β”‚   β”œβ”€β”€ routes/           # API endpoints
β”‚   └── index.ts          # Server configuration
β”œβ”€β”€ shared/               # Shared TypeScript types
└── public/              # Static assets

🎨 Design System

Colors

--yeldy-teal: #397f77 /* Primary brand color */ --yeldy-green: #569f96
  /* Secondary brand color */ --yeldy-lightgreen: #adfff6 /* Accent color */;

Typography

  • Primary Font: Montserrat (Google Fonts)
  • Weights: 300, 400, 500, 600, 700, 800, 900

Responsive Breakpoints

  • Mobile: < 768px
  • Tablet: 768px - 1024px
  • Desktop: > 1024px

⚑ Animations

The website features smooth GSAP animations including:

  • Header slide-in on page load
  • Hero logo elastic entrance with rotation
  • Scroll-triggered animations for each section
  • Staggered text animations for better UX
  • Number scale animations in pricing section
  • Form field focus animations

πŸ“± Pages

  1. Homepage - Complete landing page with all sections
  2. About Us - Company information (placeholder)
  3. Gallery - Portfolio showcase (placeholder)
  4. Contact - Dedicated contact page with form

πŸ”§ Customization

Adding New Sections

  1. Create component in client/components/
  2. Import and add to client/pages/Index.tsx
  3. Style with Tailwind CSS classes

Modifying Colors

  1. Update tailwind.config.ts color definitions
  2. Update CSS variables in client/global.css

Adding Animations

import gsap from "gsap";
import { ScrollTrigger } from "gsap/ScrollTrigger";

gsap.registerPlugin(ScrollTrigger);

// Add your animations
gsap.fromTo(
  element,
  { opacity: 0, y: 50 },
  { opacity: 1, y: 0, duration: 0.8 },
);

πŸš€ Deployment Options

Netlify

  1. Connect your GitHub repository
  2. Build command: npm run build
  3. Publish directory: dist/spa

Vercel

  1. Import from GitHub
  2. Framework preset: Vite
  3. Build command: npm run build

Traditional Hosting

  1. Run npm run build
  2. Upload dist/spa folder to your host
  3. Configure server for SPA routing

πŸ“ˆ Performance

  • ⚑ Fast Loading - Optimized with Vite bundling
  • πŸ–ΌοΈ Image Optimization - Compressed images via Builder.io CDN
  • πŸ“¦ Code Splitting - Automatic route-based splitting
  • 🎯 SEO Ready - Clean HTML structure and meta tags

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

πŸ™ Acknowledgments

Releases

Packages

Contributors

Languages