A beautiful, interactive birthday website with animations, music, and a photo book feature. Perfect for creating memorable birthday surprises!
- π¨ Beautiful Animations: Matrix rain effect, floating hearts, fireworks, and twinkling stars
- π Interactive Photo Book: 3D book with customizable pages
- π΅ Background Music: Auto-playing birthday music (can be paused/played)
- π¨ Customizable Themes: Choose from Pink, Blue, Purple, or create your own custom colors
- π Multi-language Support: English and Vietnamese
- π± Responsive Design: Works on desktop, tablet, and mobile devices
- π Google Authentication: Optional login feature
Simply double-click index.html to open the site in your default browser.
# Using Python
python -m http.server 8000
# Using Node.js
npx http-server
# Then open: http://localhost:8000- Open the folder in VS Code
- Right-click on
index.html - Select "Open with Live Server"
-
Prepare Your Photos
- Create or use the
image/Birthday!folder - Add your photos with filenames:
1.jpg,2.jpg,3.jpg, etc. - Supported formats: JPG, PNG, GIF
- Recommended size: 800x600 pixels or similar aspect ratio
- Create or use the
-
Update the Photo Book
- The site automatically loads photos from the
image/Birthday!folder - Photos will appear in the interactive 3D book
- You can add as many photos as you want
- The site automatically loads photos from the
-
Photo Organization
image/ βββ Birthday!/ β βββ 1.jpg β βββ 2.jpg β βββ 3.jpg β βββ ... (add more photos) βββ logo.png βββ screen.png βββ full.png
-
Prepare Your Music File
- Format: MP3 (recommended for best compatibility)
- Keep file size reasonable (under 5MB recommended)
-
Replace the Music
- Navigate to the
music/folder - Replace
zahra.mp3with your own music file - OR rename your music file to
zahra.mp3
- Navigate to the
-
Update the HTML (if using different filename)
- Open
index.html - Find line 188:
<source src="./music/zahra.mp3" type="audio/mpeg"> - Change
zahra.mp3to your music filename
- Open
Open index.html and update these lines:
- Line 7:
<title>GS Birthday Site π</title> - Line 9, 16-18, 25-27: Update meta descriptions
- Line 179: Update the birthday message
- Line 193: Update the copyright message
- Click the βοΈ Settings button on the site
- Choose from:
- πΈ Sweet Pink (default)
- π Cool Blue
- π Dreamy Purple
- π¨ Custom Color (pick your own)
Edit lang.js to change the text content:
const translations = {
en: { /* English messages */ },
vi: { /* Vietnamese messages */ }
}gs-birthday-site/
βββ π index.html # Main HTML file
βββ π lang.js # Language translations
βββ π README.md # This file
βββ π .gitignore # Git ignore rules
β
βββ π css/
β βββ index.css # All styles and animations
β
βββ π jscp/
β βββ detect-devtools.js # DevTools detection
β βββ api.obf.js # API functions
β βββ auth.obf.js # Authentication
β βββ voucher.obf.js # Voucher system
β βββ settings.js # Settings management
β βββ main.js # Main functionality
β βββ ui.js # UI interactions
β
βββ π image/
β βββ Birthday!/ # Your photo collection
β βββ logo.png # Site logo
β βββ screen.png # Screen icon
β βββ full.png # Fullscreen icon
β
βββ π music/
βββ zahra.mp3 # Background music
- Push this repository to GitHub
- Go to repository Settings β Pages
- Select branch
mainand folder/(root) - Save and wait for deployment
- Your site will be live at
https://yourusername.github.io/repository-name
# Install Vercel CLI
npm i -g vercel
# Deploy
vercel- Drag and drop the entire folder to Netlify Drop
- Or connect your GitHub repository
If you want to enable browser developer tools:
- Open
index.html - Remove or comment out lines 233-245 (the DevTools detection script)
- Open
index.html - Line 187: Remove the
autoplayattribute from the<audio>tag
-
Internet Connection Required for:
- Google Fonts (Pacifico, Dancing Script, Crimson Text)
- Firebase Authentication (v8.10.1)
- Socket.io (v4.7.2)
-
Browser Compatibility:
- β Chrome, Firefox, Safari, Edge (latest versions)
- β Mobile browsers (iOS Safari, Chrome Mobile)
- For best experience, use headphones or speakers for the music
- Allow the site to autoplay audio when prompted
- Use landscape mode on mobile for better book viewing
- The site works best with 10-20 photos in the book
- Original Template: @iamtritoan
- Customized for: GS Birthday Site
- Music: Custom birthday music
This project is free to use for personal birthday celebrations. Please credit the original creator if you share or modify it.
If you encounter any issues or need help customizing:
- Check the browser console for errors (F12)
- Ensure all files are in the correct folders
- Verify internet connection for external resources
π Made with π for unforgettable birthday celebrations! π
