Welcome to Mini Social Feed — a Flutter demo app inspired by apps like Instagram and Twitter.
The app features a modern social feed experience with smooth scrolling, photo & video posts, offline caching, dark mode, and profile navigation.
- 📱 Infinite scrolling social feed
- 🖼️ Photo posts using Picsum images
- 🎥 Video posts with autoplay/pause support
- ❤️ Instant like updates (works offline too)
- 💬 Comments bottom sheet
- 👤 Profile page navigation
- 🌙 Dark / Light mode toggle
- 📦 Offline caching with Hive
- ⚡ Smooth and optimized scrolling experience
| Layer | Technology |
|---|---|
| Framework | Flutter 3.22+ |
| Architecture | Clean Architecture + BLoC |
| State Management | flutter_bloc |
| Networking | dio |
| Navigation | go_router |
| Local Storage | hive / hive_flutter |
| Media Caching | cached_network_image |
| Video Playback | video_player |
| Connectivity | connectivity_plus |
Make sure Flutter 3.22+ is installed:
flutter --versiongit clone <your-repo-url>
cd mini_social_feedflutter create .flutter pub getOpen:
android/app/src/main/AndroidManifest.xmlAdd internet permission:
<uses-permission android:name="android.permission.INTERNET"/>Also ensure:
minSdkVersion 21
targetSdkVersion 34flutter run -d emulator-5554flutter run -d "iPhone 15 Pro"The project follows Clean Architecture with BLoC for scalable and maintainable code.
Responsible for:
- Screens
- Widgets
- User interactions
- Rendering feed & profile pages
Handles:
- Business logic
- Events & states
- Feed refresh
- Infinite scrolling
- Like toggling
Contains:
- Entities (
Post,User) - Use cases
- Repository contracts
Responsible for:
- API calls
- Local caching
- DTOs/models
- Repository implementations
| Source | Purpose |
|---|---|
| JSONPlaceholder | Mock users/posts |
| Picsum Photos | Random images |
| Sample MP4 URLs | Demo video content |
| Hive | Offline caching |
dependencies:
flutter_bloc:
equatable:
dio:
go_router:
hive:
hive_flutter:
cached_network_image:
video_player:
visibility_detector:
connectivity_plus:
timeago:The app supports offline usage using Hive local storage.
- Feed posts
- Like states
- Theme preference
When network is unavailable:
- Cached posts are loaded automatically
- Likes continue working locally
Videos:
- Autoplay when visible
- Pause automatically when out of view
- Uses
visibility_detectorfor better performance
The app includes:
- Dark Mode
- Light Mode
- Persistent theme preference storage
Feed Screen
├── Comments Bottom Sheet
└── Profile Screen
Navigation is handled using go_router.
- Real backend integration
- Firebase authentication
- Real-time comments
- Push notifications
- Story feature
- Search & explore page
- Upload posts/media
Built with Flutter using scalable architecture and modern mobile development practices.