We require the implementation of a backend feature to handle real-time user-to-user and group messaging functionalities using WunderGraph subscriptions. This will involve the following steps:
Schema Design: Design a Prisma schema to model the data requirements for our messaging system. The schema should define the necessary entities, such as 'User', 'Message', 'Conversation', and any other required relationships (e.g., users to conversations).
Subscription Setup: Utilize WunderGraph's out-of-the-box support for GraphQL subscriptions to push new message data to the clients in real-time. Leverage the demonstrated capabilities of WunderGraph as shown in the example provided to ensure no additional client-side subscription setup is required.
Real-Time Data: Ensure that the UI automatically updates with new messages as they become available without the need for extra setup such as WebSockets, utilizing HTTP/2 Streams or chunked encoding for communication.
Testing and Documentation: After implementation, comprehensively test the subscription functionality to ensure messages are pushed and received in real-time. Document the setup process, including any Prisma schema migrations and the subscription configurations in WunderGraph.
Acceptance Criteria:
Prisma schema accurately models the messaging system requirements.
Real-time message delivery to clients using WunderGraph subscriptions is confirmed through automated tests.
No additional client-side setup for subscriptions is needed.
Backend supports both one-on-one and group messaging.
Comprehensive documentation for the setup and migration is provided.
Tasks:
[ ] Draft the initial Prisma schema for the messaging system.
[ ] Implement GraphQL subscriptions using WunderGraph.
[ ] Set up and configure the necessary WunderGraph integrations.
[ ] Create automated tests to verify real-time data delivery.
[ ] Document the setup process, including Prisma migrations and subscription configurations.
Description:
We require the implementation of a backend feature to handle real-time user-to-user and group messaging functionalities using WunderGraph subscriptions. This will involve the following steps:
Schema Design: Design a Prisma schema to model the data requirements for our messaging system. The schema should define the necessary entities, such as 'User', 'Message', 'Conversation', and any other required relationships (e.g., users to conversations).
Subscription Setup: Utilize WunderGraph's out-of-the-box support for GraphQL subscriptions to push new message data to the clients in real-time. Leverage the demonstrated capabilities of WunderGraph as shown in the example provided to ensure no additional client-side subscription setup is required.
https://docs.wundergraph.com/docs/features/realtime-subscriptions
Real-Time Data: Ensure that the UI automatically updates with new messages as they become available without the need for extra setup such as WebSockets, utilizing HTTP/2 Streams or chunked encoding for communication.
Testing and Documentation: After implementation, comprehensively test the subscription functionality to ensure messages are pushed and received in real-time. Document the setup process, including any Prisma schema migrations and the subscription configurations in WunderGraph.
Acceptance Criteria:
Tasks: