Banner

LAVENDER ?

一个功能齐全的视频流应用程序,如 Netflix,使用 Flutter自定义 Nodejs 后端 构建。

如何运行此项目?‍♂️

  1. 克隆仓库。
  2. cd lavendr_app
  3. 执行 flutter pub get

特性?

  1. 用户可以观看直播电视。
  2. 用户可以观看最新的电影和剧集。
  3. 了解所有即将上映的电影/剧集。

使用什么构建?

  • Flutter – 用于从单一代码库为移动、Web、桌面和嵌入式设备构建精美、原生编译应用程序的 UI 工具包。
  • http – 一个可组合的、基于 Future 的 HTTP 请求库。
  • Bloc – 一个可预测的状态管理库,有助于实现 BLoC(业务逻辑组件)设计模式。
  • equatable – 一个 Dart 包,有助于在无需显式覆盖 == 和 hashCode 的情况下实现基于值的相等性。
  • yoyo_player – yoyo_player 是一个视频播放器,允许您通过选择质量来选择 HLS 视频流。
  • lottie – 用于实现 Lottie 动画。
  • nodeJS – Node.js 是一个用于服务器端代码的 JavaScript 运行时。
  • express – 快速、无主见、极简的 Node.js Web 框架。

应用程序包结构?

lib # Root Package

├── data                         #data layer
|   ├── channels                 #channels    
|   │   ├── channel              #channel model      
|   │   └── language             #language model       
│   ├── comming_soon  
|   |   └── comming_soon         #comming_soon model
│   ├── movies  
|   |   ├── movies_categories    #movies_categories model
|   |   └── movies               #movie model
│   └── series
|       ├── episode              #episode model
|       ├── seasons              #season model
|       ├── series_categories    #series_categories model
|       └── series               #series model      
|                  
├── domain                       #connect data layer with ui layer
|   └── repositories             #single source of truth 
|       └── network_repo         #handel api request 
|
├── presentation                 #ui layer
|    ├── bloc                    #state management   
|    ├── pages                   #app screens 
|    └── widgets                 #widgets
|
├── utils                        #utility
|   └── constants                #contain constants
|                          
└── main.dart                    #entry point

应用程序架构?

此应用程序使用 Clean Architecture

Clean Architecture.

正在进行的特性?

  1. Web 支持。

支持的平台??

  • Android
  • iOS

GitHub

查看 Github