formyloaf

πŸ‘‘ National Princess Day Surprise

## 🌐 **[πŸ‘‰ VIEW LIVE SITE πŸ‘ˆ](https://happy-princess-dayy.netlify.app/)** [![Live Site](https://img.shields.io/badge/🌐_Live_Site-happy--princess--dayy.netlify.app-FF69B4?style=for-the-badge)](https://happy-princess-dayy.netlify.app/)

A delightful single-page Next.js site to celebrate National Princess Day with a special surprise message, beautiful animations, and confetti!

✨ Features

πŸš€ Quick Start

Prerequisites

Installation

# Install dependencies
npm install

# Run development server
npm run dev

Open http://localhost:3000 in your browser.

Build for Production

# Create production build
npm run build

# Start production server
npm start

Other Commands

# Run linter
npm run lint

# Format code
npm run format

# Run tests
npm test

🎨 Customization

Edit the Message

Edit the message content in data/message.ts:

export const messageData = {
  title: 'Happy National Princess Day πŸ‘‘',
  subtitle: 'To my favorite princess β€” today, and every day.',
  body: `Your custom message here...`,
  // ...
};

Change Colors

Update CSS variables in styles/globals.css:

:root {
  --bg: #fff9ff;
  --primary: #ffb6e6;
  --accent: #ffd8a8;
  --text: #2d2d2d;
}

Replace Images

Add your own images to public/assets/ and update the image paths in the respective components:

🚒 Deployment

🌐 Live Site

πŸ‘‰ View Live Site πŸ‘ˆ

The site is currently deployed on Netlify and accessible at the URL above.

Deploy to Netlify

  1. Push your code to GitHub
  2. Go to netlify.com
  3. Click β€œNew site from Git” and connect your repository
  4. Netlify will automatically detect Next.js and deploy
  5. Your site will be live with a custom domain or netlify.app subdomain

Deploy to Vercel (Alternative)

  1. Push your code to GitHub
  2. Go to vercel.com
  3. Click β€œNew Project” and import your repository
  4. Vercel will automatically detect Next.js and deploy

One-click deploy: Deploy with Vercel

Deploy to Render

  1. Create a new account at render.com
  2. Click β€œNew +” β†’ β€œWeb Service”
  3. Connect your GitHub repository
  4. Use these settings:
    • Build Command: npm run build
    • Start Command: npm start
    • Environment: Node

πŸ“ Project Structure

princess-day/
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ Hero.tsx           # Hero section with crown animation
β”‚   β”œβ”€β”€ MessageCard.tsx    # Animated message card with envelope
β”‚   β”œβ”€β”€ Playlist.tsx       # Music playlist with carousel
β”‚   β”œβ”€β”€ FlipCards.tsx      # 3D flip cards with messages
β”‚   β”œβ”€β”€ FinalLetter.tsx    # Final love letter page
β”‚   β”œβ”€β”€ SealedLetter.tsx   # Sealed letter confirmation page
β”‚   β”œβ”€β”€ TypewriterText.tsx # Typewriter effect component
β”‚   └── Confetti.tsx       # Confetti animation
β”œβ”€β”€ data/
β”‚   └── message.ts         # Message content (editable)
β”œβ”€β”€ lib/
β”‚   └── toast.ts           # Toast notifications
β”œβ”€β”€ pages/
β”‚   β”œβ”€β”€ _app.tsx           # App wrapper
β”‚   └── index.tsx          # Main page
β”œβ”€β”€ public/
β”‚   └── assets/
β”‚       β”œβ”€β”€ crown.svg      # Crown illustration
β”‚       β”œβ”€β”€ intro-*.webp   # Hero section images
β”‚       β”œβ”€β”€ letter-*.webp  # Letter decorative images
β”‚       β”œβ”€β”€ music*.png     # Music track cover images
β”‚       β”œβ”€β”€ music*.mp3     # Audio files
β”‚       └── pic*.png       # Flip card images
β”œβ”€β”€ styles/
β”‚   └── globals.css        # Global styles & CSS variables
└── package.json

πŸ› οΈ Tech Stack

πŸ“ License

Made with πŸ’• for National Princess Day