Having in-app chat support on the platform is a great way to engage with the community. Also, a candidate doesn't have to leave the app to engage with the mentors (say, over email).
However, Building a reliable chat service within the platform would take time and is not the core value proposition. (See ADR). Recommended to use a 3rd party calendar service.
- Initiate a new conversation with users.
- View and reply to messages.
- Support read receipts and last active status.
- Integrate with 3rd party chat service for the functionalities.
- [Long Term] Remind users through an email if a chat remains unread.
- Extensibility - Should support addition of platform specific features not provided by the 3rd party meetings provider.
- Abstraction - The chat service acts like a facade to the 3rd party chat provider.
- Testability
- Security - Security for messages during storage and transit.
- Scalability - Service highly depends on third party service for scale
- Availability - Service highly depends on third party service for uptime
- Responsiveness - The messages have to be sent and received with minimal latency