FLUTTER ECOSYSTEM

usamaaelgendy/Movies-App-Clean-Architectures-

使用 Clean Architecture、BLoC、get_it 和 dartz 构建的 Flutter 电影应用,使用 TMDB API。

Movies-App-Clean-Architectures- 项目封面
Stars
119
Forks
23
最近推送(UTC)
2026年9月27日
项目状态
未归档
Usama Elgendy GitHub avatar
GITHUB User

Usama Elgendy ↗

Tech Lead | Software Engineer | Flutter & Dart Instructor. Teaching programming in Arabic.

语言DartHTMLRubySwiftKotlinObjective-C

技术话题

使用的依赖

依赖清单 14 项

所在榜单

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

展开 / 收起项目 README

Movies App — Flutter Clean Architecture

A Flutter movies app built with Clean Architecture and BLoC, using the TMDB API: now playing, popular and top-rated lists, movie details and recommendations.

Architecture

lib/
├── core/                 # errors, network constants, service locator, base use case
└── movies/
    ├── data/             # remote data source (Dio), models, repository implementation
    ├── domain/           # entities, repository contract, use cases
    └── presentation/     # BLoCs, screens, components
  • Domain holds the entities, the repository contract and one use case per action.
  • Data implements the repository with a Dio remote data source and returns Either<Failure, T> (dartz).
  • Presentation uses flutter_bloc; dependencies are wired with get_it.

Run

The app needs your own TMDB API key (free from your TMDB account settings). It is read at build time — no key is stored in the repository:

flutter pub get
flutter run --dart-define=TMDB_API_KEY=<your_tmdb_api_key>

Author

Usama Elgendy — usamaelgendy.com