A beautiful, interactive, and romantic web experience designed as a special Valentine's Day gift. This project features a multi-step interactive flow that leads to a stunning 3D Dome Gallery of memories.
- Love Mode Toggle: A premium glassmorphic switch to set the mood.
- Interactive Tic-Tac-Toe: A "rigged" game where winning reveals a heart-shaped surprise.
- Love Meter: An accurate SVG-based gauge that fills up to 100%.
- Typewriter Message: A classic typewriter animation for a personalized Valentine's greeting.
- 3D Dome Gallery: A fully interactive 3D sphere gallery that displays your favorite photos.
- Background Music: Autoplaying and looping romantic music (
pretty.mp3). - Premium UI: Crafted with Tailwind CSS, Framer Motion, and Playfair Display typography.
Follow these steps to get a copy of the project up and running on your local machine.
- Node.js (v18 or higher)
- npm or yarn
-
Clone the repository:
git clone https://github.com/DzarelDeveloper/Valentine-Days.git cd Valentine-Days -
Install dependencies:
npm install
-
Run the development server:
npm run dev
-
Open in browser: Navigate to http://localhost:3000 to see the result.
Put your images in the public/ folder and name them 1.jpeg, 2.jpeg, up to 15.jpeg. If you have more or fewer photos, update the userImages array in app/page.tsx.
Replace the public/pretty.mp3 file with your preferred romantic track (keep the filename or update it in app/page.tsx).
You can edit the typewriter text in components/InteractionFlow.tsx by searching for the TypewriterStep component.
The easiest way to deploy this project is using the Vercel Platform.
- Push your code to a GitHub, GitLab, or Bitbucket repository.
- Go to Vercel and create a new project.
- Import your repository.
- Vercel will automatically detect Next.js and deploy your project.
To create an optimized production build:
npm run build
npm run startThis project is built using modern web technologies to ensure a smooth and premium experience:
- Framework: Next.js 15 (App Router)
- Library: React 19
- Language: TypeScript (for type-safe and robust code)
- Styling: Tailwind CSS (for modern glassmorphic UI)
- Animations: Framer Motion (for fluid and organic transitions)
- Icons: Lucide React
- Fonts: Google Fonts (Playfair Display & Geist)
Made with ❤️ by DzarelDeveloper