![]() |
1 year ago | |
---|---|---|
android | 1 year ago | |
assets | 2 years ago | |
ios | 2 years ago | |
lib | 1 year ago | |
test | 2 years ago | |
.gitignore | 2 years ago | |
.metadata | 2 years ago | |
README.md | 2 years ago | |
analysis_options.yaml | 2 years ago | |
pubspec.lock | 1 year ago | |
pubspec.yaml | 1 year ago |
Client: Dart, Flutter
Server: Firebase firestore, Google cloud functions
*BloC pattern with Cubit State management
*Fully Real-time data-consuming for (Users-History-VideoCall status)
*Real-time handling for all call status (calling - accept- reject - cancel - busy - unAnswer - end)
*Clean code and arch
*Ui=>Cubit=>Api data flow
*Dio package for deals with (generate agora token - FCM) api
*Fcm notification (handling incoming calls in terminated mode)
Build token generator using nodejs: https://www.youtube.com/watch?v=KcLypppA2IQ&ab_channel=Agora
Demo Video : https://www.youtube.com/watch?v=Ond-VhB11h4
*Create a new firebase project and setup firestore and enable email/password authentication
*Copy FCM authorization key and past it on fcmKey var in constants.dart file
*Create agora new project and general token, channel name for test purpose and past them with your appId on (agoraAppId-agoraTestChannelName-agoraTestToken) vars in constants.dart file