• Home

  • Projects

  • Home
  • Projects
Listyo Adi Pamungkas - 2025 - All rights reserved
SitemapRSS Feed

    nerumarried

    nerumarried

    An elegant digital wedding invitation with black, white, and gold theme. Built using modern technologies for an unforgettable experience.
    Created at 8/14/2025 β€’ 5 min read
    Repository
    Tags: Share:

    πŸ’’ Neru & AI Wedding Invitation

    Next.js
    Preview
    Next.js

    TypeScript
    Preview
    TypeScript

    Tailwind CSS
    Preview
    Tailwind CSS

    Framer Motion
    Preview
    Framer Motion
    An elegant digital wedding invitation with black, white, and gold theme. Built using modern technologies for an unforgettable experience.

    #✨ Key Features

    ##🎯 Core Features

    • πŸ“± Responsive Design - Optimized for all devices
    • 🎨 Advanced Animations - 15+ interactive animation components
    • 🌍 Multi-language - 8 languages (Indonesia, English, ζ—₯本θͺž, ν•œκ΅­μ–΄, δΈ­ζ–‡, EspaΓ±ol, FranΓ§ais, Ψ§Ω„ΨΉΨ±Ψ¨ΩŠΨ©)
    • β™Ώ Accessibility - WCAG 2.1 AA compliant
    • ⚑ High Performance - 182KB First Load JS

    ##🎭 Animations & Interactions

    • ParticleField - Floating golden particles
    • ImageReveal - Sophisticated image reveal effects
    • Magnetic - Mouse-following interactions
    • TextReveal - Progressive text animations
    • TouchGestures - Swipe, pinch, pull for mobile
    • ScrollAnimations - 7 types of scroll animations

    ##🌐 Multi-language Support

    • Auto-detection - Automatic browser language detection
    • RTL Support - Arabic language support
    • Cultural Adaptation - Typography and format adjustments
    • Persistent Selection - Language choice saved

    #πŸ› οΈ Technology Stack

    ##Frontend Stack

    • Next.js 15.4.6 - React framework with Turbopack
    • TypeScript - Type safety and developer experience
    • Tailwind CSS v4 - Utility-first CSS framework
    • Framer Motion 12.23.12 - Animations and transitions

    ##Optimization & Performance

    • PWA Ready - Web App Manifest and offline support
    • SEO Optimized - Structured data and meta tags
    • Core Web Vitals - Real-time performance monitoring
    • Lazy Loading - Intersection Observer optimizations
    • Font Optimization - Next.js font loading with display swap

    #πŸš€ Getting Started

    ##Prerequisites

    • Node.js 18.17 or later
    • npm or yarn or pnpm

    ##Installation

    # Clone repository
    git clone https://github.com/nerufuyo/nerumarried.git
    cd nerumarried
    
    # Install dependencies
    npm install
    
    # Run development server
    npm run dev
    
    Open http://localhost:3000 to view the result.

    ##Available Scripts

    npm run dev          # Development server with Turbopack
    npm run build        # Production build
    npm run start        # Production server
    npm run lint         # ESLint check
    

    #πŸ“ Project Structure

    src/ β”œβ”€β”€ app/ # Next.js App Router β”‚ β”œβ”€β”€ globals.css # Global styles and theme β”‚ β”œβ”€β”€ layout.tsx # Root layout with metadata β”‚ └── page.tsx # Homepage β”œβ”€β”€ components/ β”‚ β”œβ”€β”€ animations/ # 15+ animation components β”‚ β”‚ β”œβ”€β”€ ParticleField.tsx β”‚ β”‚ β”œβ”€β”€ ImageReveal.tsx β”‚ β”‚ β”œβ”€β”€ Magnetic.tsx β”‚ β”‚ β”œβ”€β”€ TextReveal.tsx β”‚ β”‚ β”œβ”€β”€ TouchGestures.tsx β”‚ β”‚ └── ScrollAnimations/ β”‚ β”œβ”€β”€ sections/ # Main website sections β”‚ β”‚ β”œβ”€β”€ HeroSection.tsx β”‚ β”‚ β”œβ”€β”€ StorySection.tsx β”‚ β”‚ β”œβ”€β”€ WeddingDetailsSection.tsx β”‚ β”‚ β”œβ”€β”€ GallerySection.tsx β”‚ β”‚ β”œβ”€β”€ RSVPSection.tsx β”‚ β”‚ └── GiftRegistrySection.tsx β”‚ β”œβ”€β”€ ui/ # UI components β”‚ β”‚ └── LanguageSwitcher.tsx β”‚ β”œβ”€β”€ monitoring/ # Performance monitoring β”‚ β”‚ └── PerformanceMonitor.tsx β”‚ └── optimization/ # Mobile & performance optimizations β”‚ └── MobileOptimization.tsx β”œβ”€β”€ data/ β”‚ β”œβ”€β”€ translations/ # Translation files for 8 languages β”‚ β”‚ β”œβ”€β”€ en.json β”‚ β”‚ β”œβ”€β”€ id.json β”‚ β”‚ β”œβ”€β”€ ja.json β”‚ β”‚ β”œβ”€β”€ ko.json β”‚ β”‚ β”œβ”€β”€ zh.json β”‚ β”‚ β”œβ”€β”€ es.json β”‚ β”‚ β”œβ”€β”€ fr.json β”‚ β”‚ └── ar.json β”‚ └── wedding.json # Wedding data β”œβ”€β”€ hooks/ # Custom React hooks β”‚ └── useTranslation.ts β”œβ”€β”€ types/ # TypeScript type definitions β”‚ └── index.ts └── utils/ # Utility functions β”œβ”€β”€ accessibility.utils.ts β”œβ”€β”€ performance.utils.ts β”œβ”€β”€ language.utils.ts β”œβ”€β”€ seo.utils.ts └── storage.utils.ts

    #🎨 Design System

    ##Color Palette

    /* Primary Colors */
    --color-black: #000000, #1a1a1a, #2d2d2d
    --color-white: #ffffff, #f8f9fa, #e9ecef
    --color-gold: #d4af37, #b8860b, #ffd700, #fff8dc
    
    /* Gradients */
    --gradient-gold: from-yellow-400 via-yellow-500 to-yellow-600
    --gradient-dark: from-black via-gray-900 to-gray-800
    

    ##Typography

    • Headings: Playfair Display (serif)
    • Body: Inter (sans-serif)
    • Script: Dancing Script (cursive)

    #πŸ“Š Performance Metrics

    • First Load JS: 182KB (optimized)
    • Lighthouse Score: 95+ (Performance, Accessibility, Best Practices, SEO)
    • Core Web Vitals: Excellent ratings
    • Bundle Size: Tree-shaking and code splitting optimized

    #β™Ώ Accessibility

    • WCAG 2.1 AA compliant
    • Screen Reader support with ARIA labels
    • Keyboard Navigation complete
    • Color Contrast validation
    • Focus Management properly implemented
    • Mobile Touch Targets 44px minimum

    #🌍 Internationalization

    Supports 8 languages with features:
    • Auto-detection of browser language
    • RTL support for Arabic
    • Date and number formatting per locale
    • Typography adjusted per language
    • Persistent language selection

    #πŸš€ Deployment

    ##Vercel (Recommended)

    npm run build
    
    Deploy to Vercel with one click or connect to GitHub repository.

    ##Manual Deployment

    npm run build
    npm run start
    

    #πŸ“ Customization

    ##Changing Wedding Data

    Edit the src/data/wedding.json file:
    {
      "couple": {
        "bride": {
          "name": "Bride Name",
          "fullName": "Full Name",
          "parents": ["Father", "Mother"]
        },
        "groom": {
          "name": "Groom Name",
          "fullName": "Full Name", 
          "parents": ["Father", "Mother"]
        }
      },
      "wedding": {
        "date": "2024-12-15",
        "ceremony": {
          "time": "09:00",
          "venue": "Venue Name",
          "address": "Full Address"
        }
      }
    }
    

    ##Adding New Language

    1. Create translation file in src/data/translations/[lang].json
    2. Add language to src/types/index.ts
    3. Update LanguageUtils.ts for language detection

    #🀝 Contributing

    1. Fork repository
    2. Create feature branch (git checkout -b feature/amazing-feature)
    3. Commit changes (git commit -m 'Add amazing feature')
    4. Push to branch (git push origin feature/amazing-feature)
    5. Open Pull Request

    #πŸ“„ License

    This project is licensed under the MIT License - see the LICENSE file for details.

    #πŸ’– Acknowledgments

    • Next.js Team - Amazing framework
    • Tailwind CSS - Powerful utility-first CSS
    • Framer Motion - Best animation library for React
    • Vercel - Seamless deployment platform
    πŸ’’ Built with ❀️ for a special day
    Made with Next.js
    Preview
    Made with Next.js

    Powered by Vercel
    Preview
    Powered by Vercel
    Previous

    nerurora

    Next

    roastume