I am considering that you are using firebase database so you can continue like :
i) Create a node something like "NEW EVENTS" this node will contain all the new events which are waiting for authentication
ii) Now you need to make a token system, because you need to inform principal via notification, so you need to have a token system by using that you can notify a particular user ( like principal )
iii) Then push the newly created events to "NEW EVENTS" node and notify the principal using FCM
iv) Now you need to retrieve data from " NEW EVENTS " node in the app (which can be only for admin or principal) when the event is approved by the principal shift these events to another node like " APPROVED EVENTS ". Here you can also notify the requester ( who has created the event ) using FCM ( i advised you to use tokens because then you can notify a specific user )
NOTE: We are using user_uid as key in token node because when we need to get token of a user ( as example principle ) we will just search for principle id in token node and from there you can get token and notify user in realtime.
Feel free to ask if something is unclear.
Looks like you simply want to build a chat app using flutter and firebase. I did so following this tutorial https://medium.com/flutter-community/building-a-chat-app-with-flutter-and-firebase-from-scratch-9eaa7f41782e . I know posting links is not the thing you do in a solution but it what I was basically going to write. It also has an extension article for push notifications. You can make it so that if the email is of your pricipal or co ordinator, you can show them the chat option and if you only want to add chat to your principal, instead of getting the stream of users from the users collection(Read the article and you will understand), just give the option of principal and rest is same.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.