– 作者 Anil Karaniya

Bakliwal News

Bakliwal News

Bakliwal News 是一款独特的技术新闻应用程序,完全由用户生成,任何人都可以贡献。该应用程序是一个委员会项目。委员会的主要目标是支持开源,该项目也将是开源的,这意味着任何人都可以免费使用代码。这种方法使 Bakliwal News 成为一个社区驱动的平台,鼓励用户分享他们最新的科技新闻和发展。

该应用程序用户友好且易于导航。主页显示当天的热门新闻,确保用户及时了解最新的科技趋势。Bakliwal News 的独特之处在于其用户生成内容的功能。用户可以分享他们的文章、图片和其他相关内容,其他用户可以评论、点赞和分享。管理员会批准帖子,确保内容质量高且与科技行业相关。此功能创建了一个科技爱好者的社区,促进了关于行业最新发展和趋势的讨论和辩论。Bakliwal News 的主要优点之一是它向用户提供传统新闻媒体通常不涵盖的新闻。用户可以分享关于最新初创公司、技术创新和其他主流新闻来源通常不报道的小众领域的新闻。这一独特的功能使 Bakliwal News 成为科技爱好者必备的应用程序,他们希望及时了解最新和最创新的技术。

Bakliwal News Screen

目录

安装

先决条件

安装

  1. 按照 flutter.dev 上的说明安装 Flutter。总结如下:

    • 选择合适的操作系统
    • 将 flutter sdk 下载到本地系统的首选位置。
  2. Fork 并将 Bakliwal-News 存储库克隆到您的本地计算机。

  3. 确保安装 **Flutter** 和 **Dart** 插件。

    • 如果在 Android Studio 中,Flutter 是您要查看的第一个项目,那么
    • 启动 Android Studio
    • 打开插件首选项
    • 浏览存储库并搜索 flutter
    • 安装并单击“是”以同时安装 Dart(如果提示)。
    • Flutter 和 Dart 也可以在打开项目后安装。
    • 转到文件菜单 -> 设置 -> 插件
    • 搜索插件。在这种情况下,它将是 Flutter 和 Dart。如果尚未完成,请安装它们,然后单击“应用”。

FlutterDartPlugin

本地开发设置

本节将帮助您在本地系统上设置项目。

  1. 确保 Flutter SDK 已提供正确的路径。打开文件菜单 -> 设置 -> 语言和框架 -> Flutter。

Flutter SDK

  1. 要运行 Flutter 项目,需要设置一个虚拟设备或可以使用手动设备。请记住在手动设备的 **开发者选项** 中 **启用调试**。

  2. 在运行应用程序之前,请连接您的手动设备或设置虚拟设备。确保设备在顶部的菜单中可见。

Flutter Device

  1. 连接您的 Firebase 项目 和您的应用程序,这将解锁所有 flutterfire 包。

  2. 在终端中运行命令 `dart pub get` 以获取项目正常运行所需的所有包。

  3. 完成后,在终端中运行 `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 启动不同的应用程序

功能列表

  • 精美个人资料
  • 添加书签
  • 举报帖子和评论
  • 文章提交
  • 点赞和评论
  • 阅读历史

语言和工具

dart figma firebase flutter git linux photoshop

GitHub

查看 Github