A beautiful, fully responsive birthday wishing website built with React, TypeScript, and Tailwind CSS. Features vibrant birthday themes, animated elements, and a modern glassmorphism design.
- Responsive Design: Perfect on desktop, tablet, and mobile
- Dark/Light Mode: Toggle between themes with smooth transitions
- Animated Elements: Floating balloons, confetti, and smooth transitions
- Interactive Gallery: Lightbox photo viewer with navigation
- Glassmorphism Cards: Modern frosted glass effect
- Custom Fonts: Dancing Script for headings, Poppins for body text
- Organized Content: Tabbed sections for poems and quotes
- Friend Messages: Beautiful grid layout for birthday wishes
-
Clone & Install:
git clone https://github.com/BABIN-JOE/BIRTHDAY-WISH/tree/main.git cd BIRTHDAY-WISH npm install
-
Run Development Server:
npm run dev
-
Build for Production:
npm run build
Edit these files:
src/components/Hero.tsx
- Update the name in the h2 elementsrc/components/Footer.tsx
- Update the name in the footer textindex.html
- Update the title and meta description
Replace images in the public/images/
folder:
hero.jpg
- Main birthday person photo (square format recommended)gallery1.jpg
throughgallery6.jpg
- Memory photos
Edit src/components/BirthdayWish.tsx
to personalize the main birthday message.
Edit src/data/poems.json
:
[
{
"id": 1,
"title": "Your Poem Title",
"content": "Your poem content\nWith line breaks\nLike this"
}
]
Edit src/data/quotes.json
:
[
{
"id": 1,
"quote": "Your inspirational quote here",
"author": "Quote Author"
}
]
Edit src/data/messages.json
:
[
{
"id": 1,
"name": "Friend's Name",
"message": "Their birthday message"
}
]
The design system is in src/index.css
. Key variables to customize:
:root {
/* Birthday Theme Colors (HSL format) */
--primary: 320 60% 65%; /* Main pink/purple */
--secondary: 200 60% 80%; /* Light blue */
--accent: 280 50% 75%; /* Purple accent */
/* Gradients */
--gradient-primary: linear-gradient(135deg, hsl(320 60% 75%), hsl(200 60% 80%));
--gradient-hero: linear-gradient(135deg, hsl(320 40% 90%) 0%, hsl(200 40% 95%) 50%, hsl(280 30% 95%) 100%);
}
- Add new images to
public/images/
- Update the
galleryImages
array insrc/components/Gallery.tsx
Animation settings are in src/index.css
and tailwind.config.ts
. Key animations:
float
- For floating balloonsfade-in-up
- For content revealsscale-in
- For card appearancespolaroid-tilt
- For the hero photo
src/
βββ components/ # React components
β βββ Hero.tsx # Main hero section
β βββ Gallery.tsx # Photo gallery with lightbox
β βββ TabsSection.tsx # Poems and quotes tabs
β βββ MessagesList.tsx # Friend messages grid
β βββ ...
βββ data/ # JSON content files
β βββ poems.json # Birthday poems
β βββ quotes.json # Inspirational quotes
β βββ messages.json # Friend messages
βββ providers/ # Context providers
βββ pages/ # Page components
- Birthday Theme: Pastel blue/pink gradients with playful elements
- Glassmorphism: Frosted glass cards with backdrop blur
- Typography: Dancing Script for headings (elegant), Poppins for body (readable)
- Animations: Subtle and smooth, enhancing without overwhelming
- Responsive: Mobile-first approach with progressive enhancement
- React 18 - UI library
- TypeScript - Type safety
- Tailwind CSS - Styling and design system
- Vite - Build tool and dev server
- next-themes - Dark/light mode toggle
- Radix UI - Accessible component primitives
- Lucide React - Beautiful icons
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Images: Use high-quality photos (800x600px or larger)
- Names: Keep names reasonably short for best mobile display
- Messages: Aim for 2-4 sentences per friend message
- Poems: Use
\n
for line breaks in JSON content - Performance: Optimize images before adding to public folder
- Add inside jokes in the friend messages
- Include meaningful quotes that resonate with the birthday person
- Use photos that tell a story of your friendship
- Personalize the birthday wish section with specific memories
- Consider the person's favorite colors when customizing the theme
Note: All the images used here are generated by AI.
This project is licensed under the MIT License. Feel free to fork and customize, but credit is appreciated.
Babin Joe
π Portfolio | GitHub | LinkedIn
Built with β€οΈ by Babin for creating memorable birthday celebrations!πππ