Guidelines for developing with Convex backend-as-a-service platform, covering queries, mutations, actions, and real-time data patterns