A React-based web application for storing and displaying memories with images, countdowns, and beautiful animations.
A live demo can be accessed from 🌍 Live Demo
- 🖼️ Upload and display multiple images in a polaroid-style layout
- ⏰ Animated flip countdown timer for each memory
- 🎨 Automatic gradient backgrounds
- 📱 Responsive design for mobile and desktop
- 💾 Firebase integration for data storage
- 🔄 Client-side caching for better performance
- React.js
- Firebase (Firestore & Storage)
- Material-UI
- @pqina/flip for countdown animations
- Vite for build tooling
-
Clone the repository:
git clone <repository-url>
-
Install dependencies:
npm install
-
Set up environment variables:
- Create a
.envfile in the project root - Add your Firebase configuration:
VITE_FIREBASE_API_KEY=your-api-key VITE_FIREBASE_AUTH_DOMAIN=your-auth-domain VITE_FIREBASE_PROJECT_ID=your-project-id VITE_FIREBASE_STORAGE_BUCKET=your-storage-bucket VITE_FIREBASE_MESSAGING_SENDER_ID=your-messaging-sender-id VITE_FIREBASE_APP_ID=your-app-id
- Create a
-
Start the development server:
npm run dev
-
Open your browser and navigate to
http://localhost:5173
src/
├── components/
│ ├── Memory/ # Memory display component
│ ├── MemoryForm/ # Form for adding new memories
│ ├── FlipCountdown/ # Countdown timer component
│ └── Polaroid/ # Image display components
├── firebase/
│ └── firebase.js # Firebase configuration
└── App.jsx # Main application component



