Coffsy 电影应用
本项目旨在展示如何实现一个面向包的项目作为 Mono-Repo,但允许将外部模块放置在另一个单独的 Github 或 Pub 中,从而能够将其用作 Multi-Repo。Flutter_modular 用于将依赖项注入分离到每个模块中,以便当您不再使用该依赖项时,它会在退出模块时被删除或从内存中移除。
Flutter_triple 用于简化 Store/Controllers 的操作,并将屏幕操作与连接到电影 API 的 UseCases 相关联。
这个项目不仅仅是静止的,每当我学到新东西或有人请求更多资源时,我都会尝试在这里更新它,以便我有一个使用我日常生活中使用的技术的“大型”项目的示例。
您可以通过查看 Release 来跟踪项目的演变,在项目的每次演变中,我都会生成一个新的 Release 作为“面包屑”。
主应用
在这里,我们有主要的应用,它连接了所有外部模块和内部模块,以创建一个功能性应用。
内部模块
在这里,我们在主应用中有模块。
外部模块
主应用项目之外的模块,可以从主项目中提取并放入另一个 Github 或 Pub 中,并可以用于多个项目,因为它们不能有“主应用”的依赖项。
库
主应用、外部和内部模块之间的通用库。
使用的包
UI
- shimmer: ^2.0.0
- cached_network_image: ^3.0.0
- url_launcher: ^6.0.6
- flutter_launcher_icons: ^0.9.0
- package_info: ^2.0.2
- youtube_player_flutter: ^8.0.0
- flutter_svg: ^0.22.0
- liquid_pull_to_refresh: ^3.0.0
- carousel_slider: ^4.0.0-nullsafety.0
- lottie: ^1.0.1
- fluttertoast: ^8.0.7
- dartz: ^0.10.0-nullsafety.2
- flutter_modular: ^4.1.2
- flutter_triple: ^1.2.4+3
- animated_card: ^2.0.0
firebase
- firebase_performance: ^0.7.0
- firebase_remote_config: 0.10.0+3
- firebase_crashlytics: ^2.0.7
- firebase_analytics: ^8.1.2
- firebase_remote_config: 0.10.0+3
- firebase_storage
核心
- shared_preferences: ^2.0.6
- equatable: ^2.0.2
- dio: ^4.0.0
- effective_dart: ^1.3.2
本项目基于
项目基于 https://github.com/rrifafauzikomara/MovieApp <- Bloc 项目
屏幕基于 https://github.com/triannoviandi/movie-ticketing-app <- 屏幕
模型基于 https://www.youtube.com/watch?v=oGsX4M3wADI
PlayStore 在 https://play.google.com/store/apps/details?id=com.coffsy_movie_app
