A modern Flutter application that allows users to create digital time capsules by securely storing memories, messages, photos, and files to be unlocked at a future date. The platform combines secure storage, scheduled delivery, and social sharing to help users preserve meaningful moments and reconnect with them in the future.
- Create personal or shared time capsules
- Store text messages, images, and documents
- Schedule capsules to unlock on future dates
- Secure storage and retrieval of memories
- Privacy controls for personal and shared capsules
- Arabic and English language support
- Dark and light theme modes
- Responsive design for phones and tablets
- Push notifications for upcoming and unlocked capsules
- Offline access to previously opened capsules
- Share capsules with friends and family
- Create collaborative memory capsules
- Receive notifications when shared capsules become available
- Manage shared access and permissions
- Personal dashboard with capsule statistics
- Capsule history and activity tracking
- File management and storage monitoring
- Secure user authentication and profile management
The application follows the MVVM (Model–View–ViewModel) architecture to ensure scalability, maintainability, and separation of concerns.
lib/
├── models/ # Data models
├── services/ # Business logic and API communication
├── view_models/ # State management using Provider
├── views/ # Screens and user interfaces
├── widgets/ # Reusable UI components
└── utils/ # Helpers and constants
- AuthService – Authentication and session management
- CapsuleService – Capsule creation, retrieval, and management
- NotificationService – Scheduled notifications and reminders
- RemoteDB – PostgreSQL integration and database operations
- ViewModels – State management using the Provider pattern
| Category | Technologies |
|---|---|
| Frontend | Flutter, Dart |
| State Management | Provider |
| Backend | PostgreSQL |
| Authentication | JWT |
| Notifications | Flutter Local Notifications |
| Localization | Flutter Intl |
| File Storage | Base64 Encoding |
| Architecture | MVVM |
- Flutter SDK 3.0+
- Dart SDK 3.0+
- PostgreSQL Database
- Android Studio or VS Code
- Android/iOS Emulator or Physical Device
git clone https://github.com/Shaimaa-22/time_capsule_app.git
cd time_capsule_app
flutter pub get
flutter run- Tap the Create Capsule button.
- Add your message, photos, or files.
- Select the unlock date.
- Configure privacy settings.
- Save the capsule.
- Wait until the scheduled unlock date.
- Receive a notification.
- Open the capsule and view its contents.
- Save or share the memories.
- Enable sharing during creation.
- Add recipients.
- Recipients receive access when the capsule unlocks.
- Enjoy shared memories together.
- Cloud storage integration
- End-to-end encryption
- AI-generated memory summaries
- Video and audio capsule support
- Social timeline for shared capsules
- Cross-platform web version
Shaimaa Dwedar
Computer Engineering Graduate Flutter Developer | Full-Stack Developer | IoT & AI Enthusiast