NE
neptunecat1707/sakshi-birthday-website
Modern responsive birthday website for Sakshi with interactive wishes collection, confetti animations, and beautiful design based on ash-day.vercel.app
Sakshi's Birthday Website ๐
A modern, responsive personal birthday website built with Next.js, featuring interactive animations, confetti effects, and a wishes collection system.
โจ Features
- Modern Design: Responsive layout with gradient backgrounds and smooth animations
- Interactive Animations: Framer Motion animations and canvas-confetti effects
- Wishes Collection: 9 customizable wish slots with persistent storage
- Birthday Theme: Personalized content for Sakshi's 22nd birthday
- Mobile Responsive: Optimized for all device sizes
- Local Storage: Wishes are saved locally in the browser
- API Routes: Backend support for wishes management
๐ Tech Stack
- Framework: Next.js 15 with App Router
- Styling: Tailwind CSS 4
- Animations: Framer Motion
- Effects: Canvas Confetti
- Icons: Lucide React
- Language: TypeScript
- Storage: Local Storage + JSON API
๐ Project Structure
sakshi-website/
โโโ src/
โ โโโ app/
โ โ โโโ api/wishes/ # API routes for wishes
โ โ โโโ globals.css # Global styles
โ โ โโโ layout.tsx # Root layout
โ โ โโโ page.tsx # Main page
โ โโโ components/
โ โ โโโ HeroSection.tsx # Birthday hero section
โ โ โโโ ActivitiesSection.tsx # Activities suggestions
โ โ โโโ PlaylistSection.tsx # Music playlist section
โ โ โโโ WishesSection.tsx # Wishes collection
โ โ โโโ WishModal.tsx # Modal for adding/editing wishes
โ โ โโโ Footer.tsx # Footer component
โ โโโ types/
โ โ โโโ index.ts # TypeScript type definitions
โ โโโ lib/ # Utility functions
โโโ public/ # Static assets
โโโ data/ # JSON data storage
โโโ package.json
๐ ๏ธ Installation & Setup
-
Clone the repository
git clone <repository-url> cd sakshi-website
-
Install dependencies
npm install
-
Run development server
npm run dev
-
Open in browser
Navigate to http://localhost:12000
๐ Available Scripts
npm run dev- Start development server on port 12000npm run build- Build the application for productionnpm run start- Start production servernpm run lint- Run ESLint for code qualitynpm run export- Export static files (for static hosting)
๐จ Customization
Changing Content
- Name: Replace "Sakshi" in components with desired name
- Age: Replace "22" throughout the codebase
- Activities: Modify the
activitiesarray inActivitiesSection.tsx - Wish Slots: Update
initialSlotsinWishesSection.tsx
Styling
- Colors: Modify Tailwind classes in components
- Animations: Adjust Framer Motion configurations
- Layout: Update component structures as needed
๐ Deployment
Vercel (Recommended)
- Push code to GitHub
- Connect repository to Vercel
- Deploy automatically
GitHub Pages
- Run
npm run build - Deploy the
outfolder to GitHub Pages
Other Platforms
The app is configured for deployment on:
- Netlify
- Railway
- DigitalOcean App Platform
- Any Node.js hosting service
๐ฏ Wishes System
The wishes collection includes:
- 9 Pre-defined Slots: Friend 1-3, Family Members, Colleagues, etc.
- CRUD Operations: Add, edit, delete wishes
- Image Support: Upload images or use URLs
- Persistent Storage: Saves to localStorage and optional JSON API
- Responsive Design: Works on all devices
Wish Structure
interface Wish {
id: string;
recipientName: string;
message: string;
authorName: string;
image?: string;
createdAt: string;
}๐ Animations & Effects
- Confetti: Triggers on page load
- Scroll Animations: Elements animate as they come into view
- Hover Effects: Interactive button and card animations
- Modal Transitions: Smooth modal open/close animations
๐ง Configuration
Environment Variables
No environment variables required for basic functionality.
Next.js Configuration
- Images: Configured to allow external image URLs
- API Routes: Set up for wishes management
- Static Export: Configured for static hosting
๐ Troubleshooting
Common Issues
- Port already in use: Change port in package.json scripts
- Images not loading: Check Next.js image configuration
- Wishes not saving: Verify localStorage is enabled
Development Tips
- Use browser dev tools to debug animations
- Check console for any JavaScript errors
- Ensure all dependencies are installed
๐ฑ Browser Support
- Chrome (recommended)
- Firefox
- Safari
- Edge
- Mobile browsers
๐ค Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
๐ License
This project is open source and available under the MIT License.
๐ Credits
- Design inspired by ash-day.vercel.app
- Wishes system based on happy-birthday-aarin
- Built with love for Sakshi's 22nd birthday!
Happy Birthday Sakshi! ๐โจ
Made with ๐ by the development team
On this page
Languages
TypeScript97.5%JavaScript1.4%CSS1.1%
Contributors
Created September 24, 2025
Updated November 3, 2025