https://github.com/hashimsaffarini/intersect_task
A sleek movie browsing app featuring real-time search, dynamic API integration, and offline access powered by clean architecture and Bloc state management.
https://github.com/hashimsaffarini/intersect_task
api flutte tmdp-api
Last synced: 9 months ago
JSON representation
A sleek movie browsing app featuring real-time search, dynamic API integration, and offline access powered by clean architecture and Bloc state management.
- Host: GitHub
- URL: https://github.com/hashimsaffarini/intersect_task
- Owner: hashimsaffarini
- Created: 2024-12-05T15:04:40.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-08T19:07:58.000Z (about 1 year ago)
- Last Synced: 2025-02-01T11:42:54.480Z (11 months ago)
- Topics: api, flutte, tmdp-api
- Language: Dart
- Homepage:
- Size: 7.22 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🎥 Intersect Movies App
Dive into the world of movies with the Intersect Movies App! This app features smooth animations, efficient search functionality, and real-time updates powered by TMDB APIs, along with offline caching using SharedPreferences.
---
## 🏗 System Design
├── lib
│ ├── core
│ │ ├── di
│ │ ├── helpers
│ │ ├── networking
│ │ ├── routing
│ │ ├── theming
│ │ ├── widgets
│ ├── features
│ │ ├── home
│ │ │ ├── data
│ │ │ │ ├── apis
│ │ │ │ ├── models
│ │ │ │ ├── repos
│ │ │ ├── logic
│ │ │ │ ├── cubit
│ │ │ ├── ui
│ │ │ │ ├── widgets
│ ├── main.dart
│ ├── marvel_app.dart
## 🚀 Features
Intersect Movies App offers the following features:
`Clean Architecture`: The app follows clean architecture principles to ensure a maintainable and modular codebase with clear separation of concerns.
`Bloc State Management`: Efficiently manages states using Bloc and Cubit, providing seamless UI updates in response to state changes.
`TMDB API Integration`: Retrieves comprehensive data about movies, including their titles, release dates, ratings, overviews, and more using the TMDB API.
`Local Database (SharedPreferences)`: Caches data locally with SharedPreferences to ensure offline accessibility and improved performance.
`Search Functionality`: Provides real-time movie search with filtering by title, reset options, and smooth animations.
`Engaging UI/UX`: Designed with user-friendly interfaces, gradient theming, and smooth animations for a polished user experience.
`Reusable Widgets`: Utilizes a widget-based architecture for efficient code reuse across the application.
## 🎬 App Preview
| Home Screen | Details Screen | Search Screen |
| :-----------------------------------------------------------: | :------------------------------------------------------------: | :----------------------------------------------------------: |
|
|
|
|
---
## 🛠️ Setup Instructions
Follow these steps to get the project up and running on your local machine:
### Prerequisites
1. **Flutter Installed**:
- Ensure you have Flutter installed. If not, [download Flutter](https://flutter.dev/docs/get-started/install).
2. **API Key Setup**:
- Add your API key in the `.env` file in the project root:
```
API_KEY=your_api_key_here
```
---
### Installation
1. **Clone the Repository**:
```bash
git clone https://github.com/hashimsaffarini/Intersect_Task.git
cd Intersect_Task