Weave Your Life's Story.
A beautifully crafted Flutter app for preserving and reliving your most cherished memories — powered by Firebase, SQLite, and AI-driven insights.
- 🔐 Authentication — Email/Password & Google Sign-In via Firebase Auth
- 🏠 Home — Browse your active timelines with live search filtering
- 🗓️ Timeline — A swipeable, chronological view of all your memories with delete support
- 🧠 Memories — Filter by type (Photos, Voice, Stories, Notes) with real-time search
- ➕ Add Memory — Capture a title, date, narrative, and photo from your gallery
- 👤 Profile — Edit your name & job title, manage settings, view your memory stats
- 💡 AI Insights — Dynamic cards generated from your real memory data (weekly report, streaks, patterns)
- 🎨 Onboarding — Smooth animated onboarding with SharedPreferences persistence
| Layer | Technology |
|---|---|
| Framework | Flutter |
| Language | Dart |
| Auth | Firebase Authentication |
| Cloud DB | Cloud Firestore |
| Local DB | SQLite (sqflite) |
| State Management | Provider |
| Local Storage | SharedPreferences |
| UI Extras | shimmer, google_nav_bar, timeline_tile, smooth_page_indicator, dotted_border, cherry_toast |
lib/
├── Authentication/
│ ├── login.dart
│ └── signup.dart
├── data/
│ └── timeline_data.dart
├── models/
│ ├── memory_model.dart
│ ├── onboardingData.dart
│ └── timeline_model.dart
├── providers/
│ └── Auth_provider.dart
├── screens/
│ ├── home.dart
│ ├── TimelineScreen.dart
│ ├── MemoriesScreen.dart
│ ├── ProfileScreen.dart
│ ├── AddScreen.dart
│ ├── onboarding_screen.dart
│ ├── splash_screen.dart
│ └── auth_wrapper.dart
├── Sqldb/
│ └── sqldb.dart
├── themes/
│ └── colors.dart
├── utils/
│ └── insight_engine.dart
├── widgets/
│ ├── AiCard.dart
│ ├── TimelineCard.dart
│ ├── MemoryBigCard.dart
│ ├── MemorySmallCard.dart
│ ├── AddPhoto.dart
│ ├── PulsingDot.dart
│ ├── ScrollAnimator.dart
│ └── ...
└── main.dart
- Flutter SDK
>=3.0.0 - Dart SDK
>=3.0.0 - A Firebase project with Authentication and Firestore enabled
-
Clone the repo
git clone https://github.com/your-username/memory-weave.git cd memory-weave -
Install dependencies
flutter pub get
-
Setup Firebase
- Create a project at Firebase Console
- Enable Email/Password and Google Sign-In under Authentication
- Enable Cloud Firestore
- Download
google-services.json(Android) and/orGoogleService-Info.plist(iOS) - Place them in the appropriate directories
-
Run the app
flutter run
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, write: if request.auth != null && request.auth.uid == userId;
}
}
}dependencies:
firebase_core:
firebase_auth:
cloud_firestore:
google_sign_in:
provider:
sqflite:
path:
shared_preferences:
image_picker:
shimmer:
cherry_toast:
google_nav_bar:
timeline_tile:
smooth_page_indicator:
dotted_border:
visibility_detector:
google_fonts:Pull requests are welcome! For major changes, please open an issue first to discuss what you'd like to change.
Built with ❤️ by [Abdallah Saad]