itsezlife/flutter-instagram-offline-first-clone
使用 PowerSync 與 Supabase 的完整離線優先架構之生產就緒 Flutter Instagram 克隆。具備貼文、動態、短影片、聊天與即時同步功能。內含 24 小時 YouTube 教學影片。非常適合學習企業級 Flutter 開發、BLoC 模式與離線優先設計。🚀
- Stars
- 264
- Forks
- 97
- 最近推送(UTC)
- 2025年12月8日
- 專案狀態
- 未封存
技術主題
使用的依賴
依賴清單 68 項
- animations
^2.0.11 - app_ui
{"path":"packages/app_ui"} - async
^2.11.0 - bloc
^9.1.0 - cached_memory_image
^1.5.0 - cached_network_image
^3.4.1 - carousel_slider
^5.1.1 - chats_repository
{"path":"packages/chats_repository"} - collection
^1.18.0 - database_client
{"path":"packages/database_client"} - env
{"path":"packages/env"} - equatable
^2.0.7 - fast_immutable_collections
^10.2.4 - firebase_core
^4.2.0 - firebase_messaging
^16.0.3 - firebase_notifications_client
{"path":"packages/notifications_client/firebase_notifications_client"} - firebase_remote_config_repository
{"path":"packages/firebase_remote_config_repository"} - flex_color_scheme
^8.3.1 - flutter
{"sdk":"flutter"} - flutter_animate
^4.5.2 - flutter_bloc
^9.1.1 - flutter_localizations
{"sdk":"flutter"} - flutter_markdown_plus
^1.0.5 - flutter_portal
^1.1.4 - flutter_staggered_grid_view
^0.7.0 - form_fields
{"path":"packages/form_fields"} - go_router
^14.2.7 - google_sign_in
^6.3.0 - hydrated_bloc
^10.1.1 - insta_blocks
{"path":"packages/insta_blocks"} - instagram_blocks_ui
{"path":"packages/instagram_blocks_ui"} - intl
^0.20.2 - inview_notifier_list
{"git":"https://github.com/Gambley1/inview_notifier_list"} - json_annotation
^4.9.0 - lottie
^3.1.2 - notifications_repository
{"path":"packages/notifications_repository"} - ogp_data_extract
^0.2.2 - palette_generator
^0.3.3+3 - path_provider
^2.1.5 - persistent_storage
{"path":"packages/storage/persistent_storage"} - posthog_flutter
^4.5.0 - posts_repository
{"path":"packages/posts_repository"} - powersync_repository
{"path":"packages/powersync_repository"} - scroll_to_index
^3.0.1 - scrollable_positioned_list
^0.3.8 - search_repository
{"path":"packages/search_repository"} - shared
{"path":"packages/shared"} - shimmer
^3.0.0 - sliver_tools
^0.2.12 - sprung
^3.0.1 - stories_editor
{"path":"packages/stories_editor"} - stories_repository
{"path":"packages/stories_repository"} - story_view
^0.16.5 - styled_text
{"git":{"ref":"91272c4779123570a642b19f96214adef2e850b4","url":"https://github.com/Maatteogekko/styled_text_package","path":"styled_text"}} - supabase_authentication_client
{"path":"packages/authentication_client/supabase_authentication_client"} - timeago
^3.7.1 - token_storage
{"path":"packages/authentication_client/token_storage"} - url_launcher
^6.3.2 - user_repository
{"path":"packages/user_repository"} - vector_math
^2.1.4 - visibility_detector
^0.4.0+2 - bloc_test開發依賴
^10.0.0 - build_runner開發依賴
^2.6.0 - build_verify開發依賴
^3.1.1 - flutter_test開發依賴
{"sdk":"flutter"} - json_serializable開發依賴
^6.11.1 - mocktail開發依賴
^1.0.4 - very_good_analysis開發依賴
^9.0.0
所在榜單
原始 README
以下為英文專案原文快照,最新內容請造訪 GitHub。
展開 / 收合專案 README
Flutter Instagram offline-first Clone
coverage style: very good analysis License: MIT
💫 About The Project
https://raw.githubusercontent.com/itsezlife/flutter-instagram-offline-first-clone/HEAD/screenshots/cover.pngMost people always wanted to see a Flutter project that is not just a clone but a real-world app with a real-world architecture, that will cover all-in-one: sleek UI with blazingly-fast backend. And, try to imagine, without a Firebase as a primary service…
I present for you Flutter offline-first Instagram clone, leveraging Flutter best practices!
I am 100% sure this project and guide will impress you, regardless of your current experience.
It's not just another Instagram clone... You will learn comprehensively everything and beyond to be a real-world app creator.
This repository will enhance your skills so much that after you will be fully-capable of building your very own comprehensive applications with confidence and no fear.
Moreover, you are going to learn how to create a completely offline-first application. It means that every single in-app feature is accessible with no internet connection!
⚡️ Built With
🚀 Getting Started
Watch my free complete tutorial on my channel!
With a step-by-step explanation, ensuring very smooth watching experience, you will learn to build Flutter real-world applications with confidence and no fear!
⚠️ Important Notice
The tutorial was recorded more than 1 year ago, so some code and Flutter SDK versions may differ from the current repository state.
📋 For the latest setup instructions and migration guide, please refer to MIGRATION.md which contains:
- Updated Flutter SDK 3.35.7 setup instructions
- FVM (Flutter Version Management) recommendations
- Latest dependency versions and breaking changes
- Step-by-step migration guide from older versions
Always use the latest main branch of this repository as the source of truth, rather than following the tutorial code exactly.
Don't forget to give a video like and subscribe to the channel! Thanks!
⭐️ Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📝 License
Distributed under the MIT License. See MIT License for more information.
💭 Contact
- Twitter - @Emil Zulufov (ezIT)
- Email - emilzulufov.commercial@gmail.com
Project Link: https://github.com/Gambley1/flutter_instagram_offline_first_clone
🎯 Acknowledgments
This tutorial is highly inspired by a very popular Flutter News toolkit, make sure to check it out!
And you can watch my blog on medium.
☕️ Support
Also, I would really appreciate any of your support! You can buy me a coffee and become a part of our beautiful community.
Your donation will hugely help me and it will allow me to keep the next beautiful videos and tutorials high-quality and free!