– 作者 Anil Karaniya
Bakliwal News
Bakliwal News 是一款独特的技术新闻应用程序,完全由用户生成,任何人都可以贡献。该应用程序是一个委员会项目。委员会的主要目标是支持开源,该项目也将是开源的,这意味着任何人都可以免费使用代码。这种方法使 Bakliwal News 成为一个社区驱动的平台,鼓励用户分享他们最新的科技新闻和发展。
该应用程序用户友好且易于导航。主页显示当天的热门新闻,确保用户及时了解最新的科技趋势。Bakliwal News 的独特之处在于其用户生成内容的功能。用户可以分享他们的文章、图片和其他相关内容,其他用户可以评论、点赞和分享。管理员会批准帖子,确保内容质量高且与科技行业相关。此功能创建了一个科技爱好者的社区,促进了关于行业最新发展和趋势的讨论和辩论。Bakliwal News 的主要优点之一是它向用户提供传统新闻媒体通常不涵盖的新闻。用户可以分享关于最新初创公司、技术创新和其他主流新闻来源通常不报道的小众领域的新闻。这一独特的功能使 Bakliwal News 成为科技爱好者必备的应用程序,他们希望及时了解最新和最创新的技术。
目录
安装
先决条件
- Android Studio 或任何 IDE 来打开 Flutter 项目
- JDK
安装
-
按照 flutter.dev 上的说明安装 Flutter。总结如下:
- 选择合适的操作系统
- 将 flutter sdk 下载到本地系统的首选位置。
-
Fork 并将 Bakliwal-News 存储库克隆到您的本地计算机。
-
确保安装 **Flutter** 和 **Dart** 插件。
- 如果在 Android Studio 中,Flutter 是您要查看的第一个项目,那么
- 启动 Android Studio
- 打开插件首选项
- 浏览存储库并搜索 flutter
- 安装并单击“是”以同时安装 Dart(如果提示)。
- Flutter 和 Dart 也可以在打开项目后安装。
- 转到文件菜单 -> 设置 -> 插件
- 搜索插件。在这种情况下,它将是 Flutter 和 Dart。如果尚未完成,请安装它们,然后单击“应用”。
本地开发设置
本节将帮助您在本地系统上设置项目。
- 确保 Flutter SDK 已提供正确的路径。打开文件菜单 -> 设置 -> 语言和框架 -> Flutter。
-
要运行 Flutter 项目,需要设置一个虚拟设备或可以使用手动设备。请记住在手动设备的 **开发者选项** 中 **启用调试**。
-
在运行应用程序之前,请连接您的手动设备或设置虚拟设备。确保设备在顶部的菜单中可见。
-
连接您的 Firebase 项目 和您的应用程序,这将解锁所有 flutterfire 包。
-
在终端中运行命令 `dart pub get` 以获取项目正常运行所需的所有包。
-
完成后,在终端中运行 `flutter run` 来运行应用程序以进行调试。要构建发布版本,您可以执行以下操作:
用于 Android 应用
在终端中,运行 `flutter build apk` 命令。要为您的设备架构生成特定于 apk,您可以运行 `flutter build apk --split-per-abi` 或 `flutter build appbundle --target-platform android-arm,android-arm64,android-x64`(删除不需要的参数)以仅获取您的架构构建。您可以在 此处 阅读更多相关信息。
用于 IOS 应用
要为 iOS 应用构建发布版本,请在终端中运行 `flutter build ios`。要了解有关创建构建存档、在 TestFlight 或 App Store 上发布应用的更多信息,请单击 此处。
贡献指南
贡献指南遵循 此处 的指南。
说明
- Fork 此存储库
- 克隆您的 Forked 存储库
- 添加您的更改
- 提交并推送
- 创建拉取请求
- Star 此存储库
- 等待拉取请求合并
- 庆祝您迈向开源世界的第一步,并做出更多贡献
其他帮助您开始进行开源贡献的工具
项目结构
├── LICENSE
├── README.md
├── bakliwal-news
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── bakliwal_news_app.iml
│ ├── android^
│ ├── assets
│ │ ├── fonts
│ │ │ └── all fonts
│ │ ├── images
│ │ │ └── all images
│ ├── ios^
│ ├── lib
│ │ ├── custome_icons_icons.dart
│ │ ├── screens
│ │ │ ├── primary_screen
│ │ │ │ ├── my_feed_screen.dart
│ │ │ │ ├── profile_screen.dart
│ │ │ │ ├── bookmark_screen.dart
│ │ │ │ └── search_screen.dart
│ │ │ ├── auth_screen
│ │ │ │ ├── login.dart
│ │ │ │ ├── register.dart
│ │ │ │ ├── validator.dart
│ │ │ │ ├── verification_waiting.dart
│ │ │ │ └── forgot_password.dart
│ │ │ └── secondary_screens
│ │ │ ├── account_details_screen.dart
│ │ │ ├── article_discription_screen.dart
│ │ │ ├── changelog_screen.dart
│ │ │ ├── most_upvoted_screen.dart
│ │ │ ├── reading_history_screen.dart
│ │ │ └── submit_article_screen.dart
│ │ ├── providers
│ │ │ ├── news
│ │ │ │ ├── articles.dart
│ │ │ │ ├── changelogs.dart
│ │ │ │ ├── most_upvoted.dart
│ │ │ │ ├── reading_history.dart
│ │ │ │ └── user_bookmarks.dart
│ │ │ ├── user_account
│ │ │ │ └── user_account.dart
│ │ │ ├── settings_const.dart
│ │ │ └── view
│ │ │ └── page_transiction_provider.dart
│ │ ├── package_service
│ │ │ └── locator_service.dart
│ │ ├── main.dart
│ │ ├── models
│ │ │ ├── all_read_articles.dart
│ │ │ ├── article_upvotes.dart
│ │ │ ├── bookmarks.dart
│ │ │ ├── news_article.dart
│ │ │ ├── screen_enums.dart
│ │ │ ├── settings_model.dart
│ │ │ └── user_information.dart
│ │ ├── repository
│ │ │ └── auth_repo.dart
│ │ ├── style
│ │ │ ├── shimmers_effect.dart
│ │ │ └── style_declaration.dart
│ │ ├── view
│ │ │ ├── home_view_screen.dart
│ │ │ └── news_card_shimmer.dart
│ │ ├── widget
│ │ │ ├── news_card
│ │ │ │ └── news_card.dart
│ │ │ └── view
│ │ │ ├── alert_dialouge_popup.dart
│ │ │ ├── article_discription_appbar.dart
│ │ │ ├── bottom_navigation.dart
│ │ │ ├── burger_menue.dart
│ │ │ ├── comment_box.dart
│ │ │ ├── common_article_popmenue.dart
│ │ │ └── custome_snackbar.dart
│ │ └── firebase_options.dart
│ ├── linux^
│ ├── macos^
│ ├── windows^
│ ├── web^
│ ├── test^
│ ├── build^
│ ├── .metadata
│ ├── pubspec.lock
│ └── pubspec.yaml
└── .gitignore
使用的包
| 包 | 描述 |
|---|---|
firebase |
用于服务器管理 |
get_it |
简单的服务定位器 |
provider |
简化资源分配/处理 |
image_picker |
从图片库选择图片,并用相机拍摄新照片 |
google_fonts |
Google Fonts 提供程序 |
profanity_filter |
检测评论中的不当言论 |
permission_handler |
管理设备权限 |
url_launcher |
使用 URL 启动不同的应用程序 |
功能列表
- 精美个人资料
- 添加书签
- 举报帖子和评论
- 文章提交
- 点赞和评论
- 阅读历史













