{"info":{"_postman_id":"93cc7e53-42e1-4c37-8070-e7476b7f504f","name":"Ramu kaka : API's Collection","description":"<html><head></head><body><p>Accelerating Agile collaboration with AI-driven standups, sprint planning, and code reviews—all in one seamless experience.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"36779828","collectionId":"93cc7e53-42e1-4c37-8070-e7476b7f504f","publishedId":"2sB34ZqPn9","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-06-30T20:32:24.000Z"},"item":[{"name":"Web Socket EndPoints","item":[{"name":"SignalAPI","id":"f23d623f-964c-46b7-a463-b943bfc7179b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/signal","description":"<ul>\n<li><p><strong>Purpose</strong>: Real-time connection for chat, code sharing, and updates in rooms.</p>\n</li>\n<li><p><strong>Used by frontend to connect to STOMP-based messaging.</strong></p>\n</li>\n<li><p>Updates messages for all the users joined in a room</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["signal"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"f23d623f-964c-46b7-a463-b943bfc7179b"}],"id":"60260688-22c9-4804-8fe9-5f7f81c520d1","description":"<ul>\n<li><p><strong>Type</strong>: WebSocket (SockJS)</p>\n</li>\n<li><p><strong>Purpose</strong>: Real-time connection for chat, code sharing, and updates in rooms.</p>\n</li>\n<li><p><strong>Used by frontend to connect to STOMP-based messaging.</strong></p>\n</li>\n<li><p>Updates messages for all the users joined in a room</p>\n</li>\n</ul>\n","_postman_id":"60260688-22c9-4804-8fe9-5f7f81c520d1"},{"name":"Message Handling APIs","item":[],"id":"16986444-d292-4c8c-80a1-ab2c49fad160","description":"<p>CHAT API</p>\n<ul>\n<li><p>API EndPoint: <a href=\"http://localhost:8080/app/chatEndFragment\">http://localhost:8080/app/chat</a></p>\n</li>\n<li><p><strong>Method</strong>: STOMP</p>\n</li>\n<li><p><strong>Purpose</strong>: Handle chat messages, join/leave events.</p>\n</li>\n<li><p><strong>Payload</strong>: <code>{ from, room, type: \"chat\" | \"join\" | \"leave\", data, email }</code></p>\n</li>\n</ul>\n<p>CODE API</p>\n<ul>\n<li><p>API EndPoint: <a href=\"http://localhost:8080/app/code\">http://localhost:8080/app/code</a></p>\n</li>\n<li><p><strong>Method</strong>: STOMP</p>\n</li>\n<li><p><strong>Purpose</strong>: Share code snippets in real time.</p>\n</li>\n<li><p><strong>Payload</strong>: <code>{ from, room, type: \"code\", data }</code></p>\n</li>\n</ul>\n","_postman_id":"16986444-d292-4c8c-80a1-ab2c49fad160"},{"name":"Summary API's","item":[{"name":"SendSummary","id":"37598e5d-9381-40b2-a835-688fde9be04a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"http://localhost:8080/api/summary/send/1","description":"<ul>\n<li><p><strong>Method</strong>: <code>POST</code></p>\n</li>\n<li><p><strong>Purpose</strong>: Generate and email a structured AI-generated summary to all users in the room.</p>\n</li>\n<li><p>**Triggered when user clicks \"📧 Send Summary to Users\" button.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["api","summary","send","1"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"5b853a77-0c37-413a-9639-f8d96e6b0ba2","name":"SummarySentOutput","originalRequest":{"method":"POST","header":[],"url":"http://localhost:8080/api/summary/send/1"},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Content-Type","value":"text/plain;charset=UTF-8"},{"key":"Content-Length","value":"39"},{"key":"Date","value":"Mon, 30 Jun 2025 20:19:32 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"Summary is being generated and emailed."}],"_postman_id":"37598e5d-9381-40b2-a835-688fde9be04a"}],"id":"5d2569a7-1f5c-44d1-9c09-51ca77431c7c","description":"<p>These API's provide summary for the whole conversation session of room.</p>\n","_postman_id":"5d2569a7-1f5c-44d1-9c09-51ca77431c7c"},{"name":"Smart Flow Chart API","item":[{"name":"GenerateFlowChartCode","id":"334deb35-48f1-4930-bf2a-5d54f739ba51","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"graphText\": \"1. User opens RAMU chat\\n2. User enters code snippet\\n3. RAMU sends to backend\\n4. Gemini generates review\\n5. RAMU displays review suggestions\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/flow/updated/generate-react","description":"<ul>\n<li><p>Method: POST</p>\n</li>\n<li><p>Purpose: Generate FlowChart code in preview window</p>\n</li>\n<li><p>Triggered when user clicks \"Generate FlowChart\" in chat UI</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["api","flow","updated","generate-react"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"d4f153e7-efde-4d20-bbc8-52c2044f5170","name":"GeneratedCode","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"graphText\": \"1. User opens RAMU chat\\n2. User enters code snippet\\n3. RAMU sends to backend\\n4. Gemini generates review\\n5. RAMU displays review suggestions\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/flow/updated/generate-react"},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Content-Type","value":"text/plain;charset=UTF-8"},{"key":"Content-Length","value":"2341"},{"key":"Date","value":"Mon, 30 Jun 2025 20:26:00 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"```jsx\nimport React, { useEffect, useRef } from 'react';\nimport * as go from 'gojs';\nimport './App.css';\n\nfunction App() {\n  const diagramRef = useRef(null);\n\n  useEffect(() => {\n    const $ = go.GraphObject.make;\n    if (!diagramRef.current || diagramRef.current.__DIAGRAM_INITIALIZED__) return;\n    diagramRef.current.__DIAGRAM_INITIALIZED__ = true;\n\n    const diagram = $(go.Diagram, diagramRef.current, {\n      initialAutoScale: go.Diagram.Uniform,\n      layout: $(go.LayeredDigraphLayout, { direction: 90 }),\n      isReadOnly: true,\n    });\n\n    diagram.nodeTemplate = $(\n      go.Node,\n      'Auto',\n      $(\n        go.Shape,\n        { name: 'SHAPE', fill: 'lightblue', strokeWidth: 2, stroke: '#333' },\n        new go.Binding('figure', 'isDecision', d => d ? 'Diamond' : 'RoundedRectangle')\n      ),\n      $(\n        go.TextBlock,\n        { margin: 8, font: 'bold 12px sans-serif', stroke: '#000', wrap: go.TextBlock.WrapFit, width: 140 },\n        new go.Binding('text', 'text')\n      )\n    );\n\n    diagram.linkTemplate = $(\n      go.Link,\n      { routing: go.Link.Orthogonal, corner: 5 },\n      $(go.Shape, { strokeWidth: 2 }),\n      $(go.Shape, { toArrow: 'Standard' }),\n      $(\n        go.TextBlock,\n        { segmentOffset: new go.Point(0, -10), font: '10px sans-serif', stroke: '#333' },\n        new go.Binding('text', 'text')\n      )\n    );\n\n    // Replace this with generated data\n    const nodeDataArray = [\n      { key: 1, text: 'User opens RAMU chat' },\n      { key: 2, text: 'User enters code snippet' },\n      { key: 3, text: 'RAMU sends to backend' },\n      { key: 4, text: 'Gemini generates review' },\n      { key: 5, text: 'RAMU displays review suggestions' },\n    ];\n    const linkDataArray = [\n      { from: 1, to: 2 },\n      { from: 2, to: 3 },\n      { from: 3, to: 4 },\n      { from: 4, to: 5 },\n    ];\n\n    diagram.model = new go.GraphLinksModel(nodeDataArray, linkDataArray);\n\n    diagram.nodes.each(node => {\n      if (node.data.color) {\n        const shape = node.findObject('SHAPE');\n        if (shape) shape.fill = node.data.color;\n      }\n    });\n  }, []);\n\n  return (\n    <div className='App'>\n      <h2>📈 Flowchart - Auto-Generated</h2>\n      <div\n        ref={diagramRef}\n        style={{ width: '100%', height: '600px', border: '1px solid #ccc' }}\n      />\n    </div>\n  );\n}\n\nexport default App;\n```"}],"_postman_id":"334deb35-48f1-4930-bf2a-5d54f739ba51"}],"id":"69d310aa-466d-4e6c-8f05-cc43bd0e0f8a","description":"<p>Uses LLM model to generate the flowchart as demanded</p>\n","_postman_id":"69d310aa-466d-4e6c-8f05-cc43bd0e0f8a"}]}