LAVENDER πΊ
A fully-functional video streaming app like netflix made in Flutter using Custom Nodejs backend.
How To Run This Project πββοΈ
- Clone the repository.
- cd lavendr_app
- Do
flutter pub get
.
Features π
- User can watch live tv.
- User can watch latest Movies and series.
- Get to know about all the upcoming movies/series.
Built With π
- Flutter β UI toolkit for building beautiful, natively compiled applications for mobile, web, desktop, and embedded devices from a single codebase.
- http β A composable, Future-based library for making HTTP requests.
- Bloc β A predictable state management library that helps implement the BLoC (Business Logic Component) design pattern.
- equatable β A Dart package that helps to implement value based equality without needing to explicitly override == and hashCode.
- yoyo_player β yoyo_player is a video player that allows you to select HLS video streaming by selecting the quality
- lottie β To implement lottie animation.
- nodeJS β Node.js is a JavaScript runtime for server side code.
- express β Fast, unopinionated, minimalist web framework for Node.js.
Package Structure for app πΌ
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
Architecture for app πΉ
This app uses Clean Architecture.
.
Features Under Progress π
- Web support.
Platform Supported π»π±
- Android
- IOS