Skip to content

jiheon788/polisync-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PoliSync - server

A WebSocket & Proxy server for PoliSync's MVP.

PoliSync is a voice recognition-based the minutes of a meeting writing platform using National Assembly Public Data & API and Generative AI (Open AI).

Getting Started

Install

npm install

Start

npm run start

Env

Check the API on the OpenAI API Docs (EN) and Fill out .env

PORT={{PORT}}

OPENAI_URL={{OpenAI API URL}}
OPENAI_API_KEY={{OpenAI Organazation API key}}
OPENAI_ORGANIZATION_ID={{OpenAI Organazation ID}}

Features

Tech Stack

React, TypeScript, @tanstack/react-query, Recoil, Mui , Axios, webSocket

JavaScript, NodeJS, Express, openai, webSocket, nodemon

Service Architecture

Service Architecture

  • The React App Client sends and receives requests to Node.js/Express Server and the National Assembly API.
  • Node.js/Express Server acts as a proxy server for OpenAI, and at the same time acts as a WebSocket server.
  • The external APIs OpenAI and National Assembly APIs send responses to servers and clients, respectively.

How it Works

The following is a sequence diagram of the key features.

Creating the minutes of a meeting (Voice-based Live chat)

Creating the minutes of a meeting

  1. When the user says, Browser (Web Speech API) converts it into text.
  2. Client sends the converted text to the WebSocket Server.
  3. WebSocket Server exchanges data with users through real-time communication.

Searching References

Generating meeting summary

  1. User refers to a specific keyword
  2. The Client App recognizes this keyword, extracts it, and sends a GET request to the National Assembly API.
  3. The National Assembly API sends a response, and users can check this information.
  4. Infinite scrolling allows the Client App to send additional GET requests, while the National Assembly API sends additional responses.

Generating meeting summary

Generating meeting summary

  1. Client sends a POST request to the Proxy Server with the meeting notes data.
  2. The Proxy Server forwards this request to the OpenAI API, using the GPT-3.5-turbo model.
  3. The response from the OpenAI API is received by the Proxy Server, which then processes and sends the data back to the Client.

Reasons for using the proxy server: Use a proxy server for enhanced security. The proxy server acts as a middleman between the client and the OpenAI API.

Demo of this project

1. Enter a conference room by entering your name on the main screen:

poli-sample-1

2. Press and speak on the voice recognition button at the bottom of the chat section to convert to text:

poli-sample-2

3. When words of certain keywords are found, reference documents are found through the data of the National Assembly:

poli-sample-3

4. When words of certain keywords are found, reference documents are found through the data of the National Assembly:

poli-sample-4

About

실시간 음성 기반 회의 기록 및 요약 서비스

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors