{"id":21507440,"url":"https://github.com/sanjaykparida/flutter-movie","last_synced_at":"2026-05-07T04:33:32.535Z","repository":{"id":264065645,"uuid":"891899456","full_name":"SanjayKParida/flutter-movie","owner":"SanjayKParida","description":"Movies Explorer is a Flutter app that lets users explore, search, and view details about movies with a modern dark theme, using Bloc for state management and integrating with movie APIs.","archived":false,"fork":false,"pushed_at":"2024-11-21T19:53:02.000Z","size":1386,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T00:29:31.332Z","etag":null,"topics":["android","clean-architecture","dart","flutter","flutter-bloc","rest-api","state-management"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SanjayKParida.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-21T06:42:10.000Z","updated_at":"2024-11-21T20:00:02.000Z","dependencies_parsed_at":"2024-11-21T20:39:31.977Z","dependency_job_id":null,"html_url":"https://github.com/SanjayKParida/flutter-movie","commit_stats":null,"previous_names":["sanjaykparida/flutter-movie"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SanjayKParida%2Fflutter-movie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SanjayKParida%2Fflutter-movie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SanjayKParida%2Fflutter-movie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SanjayKParida%2Fflutter-movie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SanjayKParida","download_url":"https://codeload.github.com/SanjayKParida/flutter-movie/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244053147,"owners_count":20390286,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","clean-architecture","dart","flutter","flutter-bloc","rest-api","state-management"],"created_at":"2024-11-23T20:14:57.620Z","updated_at":"2025-10-07T07:27:01.384Z","avatar_url":"https://github.com/SanjayKParida.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flutter Movie App\n\n[![Flutter License](https://img.shields.io/badge/Flutter-02569B?style=for-the-badge\u0026logo=flutter\u0026logoColor=white)](https://flutter.dev/)\n[![Dart License](https://img.shields.io/badge/Dart-0175C2?style=for-the-badge\u0026logo=dart\u0026logoColor=white)](https://dart.dev/)\n\nA feature-rich movie application built using Flutter that allows users to browse a list of movies, search for specific movies, and view detailed information about each movie. The app includes a responsive dark theme, a clean UI design, and state management with Flutter Bloc.\n\n## ⚡️ Features\n\n- **Movie List**: Displays a list of movies fetched from an API.\n- **Search Functionality**: Users can search for specific movies by entering a query.\n- **Movie Details**: Detailed view of movies, including the title, genres, and summary.\n- **Dark Mode UI**: App is styled with a dark theme for a visually pleasing experience.\n- **Navigation**: Includes bottom navigation for switching between the Home and Search pages.\n\n## Screenshots\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"screenshots/1.png\" width=\"180\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"screenshots/2.png\" width=\"180\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"screenshots/3.png\" width=\"180\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"screenshots/4.png\" width=\"180\"/\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"screenshots/5.png\" width=\"180\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"screenshots/6.png\" width=\"180\"/\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## 👩‍💻 Technologies Used\n\n- **Flutter**: Framework for building the UI and managing app logic.\n- **Flutter Bloc**: For state management (Event-Driven Architecture).\n- **REST API**: Used to fetch movie data.\n- **Google Fonts**: Integrated custom fonts for a modern design.\n- **Custom Widgets**: Reusable components such as `MovieCard`.\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- Flutter SDK\n- Dart SDK\n- Android Studio / VS Code\n\n### Installation\n\n1. Clone the repository:\n   ```\n   git clone https://github.com/SanjayKParida/flutter-movie.git\n   ```\n2. Navigate to the project directory:\n   ```\n   cd flutter-movie\n   ```\n3. Install dependencies:\n   ```\n   flutter pub get\n   ```\n4. Run the app:\n   ```\n   flutter run\n   ```\n\n## Project Structure\n\nThe project follows a clean architecture approach with distinct layers for `data`, `domain`, and `presentation`. Below is the folder structure:\n\n```\nlib/\n├── core/                            # Core module for app-wide utilities and theming\n│   ├── theme/\n│   │   └── app_theme.dart           # Centralized theme configurations\n│\n├── features/                        # Features module\n│   ├── movies/                      # Movie-related functionality\n│   │   ├── data/                    # Data layer (API integration and data models)\n│   │   │   ├── data_sources/\n│   │   │   │   └── remote_data_source.dart  # Handles remote API calls\n│   │   │   ├── models/\n│   │   │   │   └── movie_model.dart         # Defines the data model for movies\n│   │   │   ├── repositories/\n│   │   │       └── movie_repository_impl.dart  # Repository implementation for movies\n│   │   │\n│   │   ├── domain/                  # Domain layer (business logic and use cases)\n│   │   │   ├── entities/\n│   │   │   │   └── movie_entity.dart         # Defines core movie entity\n│   │   │   ├── repositories/\n│   │   │   │   └── movie_repository.dart    # Abstract repository contract\n│   │   │   ├── usecases/\n│   │   │       ├── get_all_movies.dart      # Use case to fetch all movies\n│   │   │       └── search_movies.dart       # Use case to search movies\n│   │   │\n│   │   ├── presentation/            # Presentation layer (UI and state management)\n│   │   │   ├── bloc/                # Bloc for managing state\n│   │   │   │   ├── movie_bloc.dart          # Handles movie state transitions\n│   │   │   │   ├── movie_event.dart         # Defines all movie events\n│   │   │   │   └── movie_state.dart         # Defines all movie states\n│   │   │   ├── pages/               # Pages in the app\n│   │   │   │   ├── details_page.dart        # Details page for a single movie\n│   │   │   │   ├── home_page.dart           # Home page showing movie list\n│   │   │   │   ├── search_page.dart         # Search page with search functionality\n│   │   │   │   └── splash_page.dart         # Splash screen for the app\n│   │   │   ├── widgets/             # Reusable widgets\n│   │   │       ├── bottom_navigation.dart   # Bottom navigation bar\n│   │   │       └── movie_card.dart          # Widget for displaying movie information\n│\n├── main.dart                         # Application entry point\n\n\n```\n\n## 🧠 Key Components\n\n- **State Management**:\n  Bloc Implementation:\n  MovieBloc manages the state of the movie list and search results.\n  Events like FetchAllMoviesEvent and SearchMoviesEvent trigger specific API calls.\n- **Theming**: Centralized dark mode theme in AppTheme for consistent UI styling.\n- **Navigation**: BottomNavigation widget allows seamless navigation between the Home and Search pages.\n\n## Contact\n\nSanjay Kumar Parida - [kumarparidasanjay23@gmail.com](mailto:kumarparidasanjay23@gmail.com)\n\nProject Link: [https://github.com/SanjayKParida/flutter-movie](https://github.com/SanjayKParida/flutter-movie)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanjaykparida%2Fflutter-movie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsanjaykparida%2Fflutter-movie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanjaykparida%2Fflutter-movie/lists"}