Git Product home page Git Product logo

moaref's Introduction

Kon Moaref

top

This is a repository of Kon Moaref (كن معرفا برسول الله ) Flutter version.

Description

A global project that begins preachers and rehabilitates young people to call to Islam and introduce the master of people, may God bless him and grant him peace, with various modern technologies.

The spirit of welcoming the deal on the same night is not confined to the call for modernization.

Introducing the prophet of mercy - may God bless him and grant him peace - in all different places and environments, whether virtual environments on the Internet or on the ground in any country and in any language.

Among the most important of these ideas, to arrive faster on social media platforms and communication programs, are the video promotional clips.

Front of the start from the beginning You can get genera through the process of producing raw materials with great productivity, with great productivity and high quality, with which you can get different bodies

Allows you to design and extract social media advocacy videos And you can also record propaganda audio clips and you can record them

IOS

The application is published as Android app on Google's play store , I'll be working on the IOS version using Flutter.

Project's main feature

  • Rendering videos with audios using FFMPEG.

Features :

The app is composed in 4 main parts :

**Category : **

  • Fetch data from backend server
  • Display data of each category - lang
  • allow user to check the audio
  • Play sounds from url
  • Display Duration of audio
  • Add on screen the audio selected
  • Search module of Categories

Recording :

  • Allow user to record audio
  • Permissions for recording.
  • Put duration of recording
  • When recording ends , list it below to choose.
  • Add on screen the audio selected

Upload Audio :

Bugs & issues :

  • Playing one audio animates all play icon
  • Listview kills the audio playing when scrolling

Switched to single child scroll view with column

  • Should stop the current playing if clicked on
  • If clicked on another item , it should stop the current and play the new one.
  • When switching languages , The url gives null at first (fetching categories) then gets the list.
  • Loading of splash video gives null at beginning
  • Loading of background video gives null at beginning
  • Categories section reloads every setState()
  • Can't control single play button individually
  • Categories section reloads when moving the bottom menu.
  • App is so so so so slow (laggy) in release and debug due to future builders + consumer builders ( Use isolates)

Performance Tips : To use Future builder effeciently , pass it a function that return value only & not processing data. For example : Using this is not efficent.

Future<List<String>>> getData(){
 http request
 get Data
 return data as list
 }

 
FutureBuilder(
future:getData
builder : ...
)

Future builder rebuilds up to 60 times per second ( I don't know why , even in docs it's said that futurebuilder rebuilds only when data changes)

Also , Using Consumer (Provider package) to the whole DataProvider class isnt efficent. The consumer detects any change in the whole class then rebuilds the widgets.

This also is a great guide for best practices for better performances in Flutter

moaref's People

Contributors

mahmoudashours avatar omarashour02 avatar

Stargazers

 avatar

Watchers

 avatar

moaref's Issues

Recording audio IOS

When recording audio in IOS , it works fine .
but then listening to the audio using Asset player it can't load it
Cannot play /var/mobile/Containers/Data/Application/301F0CA8-61DC-4DBD-B002-CE0FC32FC23D/Documents/NOYBNARs04ln0g==, Cannot Open

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.