What I have done throughout the semester:
I was responsible for the frontend implementation and Agora SDK's integration into our application. I designed and implemented almost every page and component. I implemented the video call features such as video and audio publishing. Also, I involved in the backend implementation for some features. Besides these, more specifically:
- I retrieved the name of the user who leaves the meeting and displayed it to inform the presenter in a visually appealing pop-up.
- I added the current password field in the profile page to enable the user to change his/her password only when he/she correctly enters the existing password. I completed the backend integration with Kimya.
- I designed and implemented a popup informing the user about the invalidity of the channel name and token information required to join a meeting.
- I arranged the terms and conditions text and showed it in a visually appealing pop-up.
- I prevented changing the email address to an already existing email address and created a warning messsage shown in case of such an attempt.
- I created the window showing the attention rate through a speedometer and the emotion status through emojis.
- Sending videos to the backend for analysis purposes was tested.
- I moved the local database to the Google Cloud with İlke by using Google Cloud SQL service.
- I implemented the share screen feature by myself without using Agora. However, publishing the shared screen and making it visible to other participants were slightly problematic. Therefore, we, me, İlke and Yuşa, reimplemented the screen sharing feature and enabled the shared screen to be visible by all participants in the meeting.
- I implemented the navigating the user to the login page in case of an unauthorized access to application pages. For example, when the user logs out of the application, when he/she tries to access application pages, he/she is redirected to the login page for security purposes right now.
- I made the database in the Google Cloud accessible to every group members by setting the public IP address as 0.0.0.0/0.
- I created the meeting ending page, fetched the names of the users attended to the meeting and displayed them on the screen to enable the report sharing feature. Some parts of the meeting ending page is reimplemented by İlke to add more functionality.
- I added loading spinners to pages where some data is retrieved from the database in order to increase the usability of the application.
- I implemented some profile-related features with Kimya such as retrieving profile information, enabling to edit the profile information and recording the meeting analysis preferences into the database.
- I added the input checking functionality for contact page and created warning pop-ups for wrong form submissions.
- I added the reminder of reviewing the meeting analysis preferences before joining a meeting. When the user attempts to join a meeting, he/she is redirected to the profile page to review his/her meeting analysis preferences if he/she wants.