{"id":23485750,"url":"https://github.com/tahmid-saj/chat-sigma","last_synced_at":"2025-04-15T01:28:01.782Z","repository":{"id":180022790,"uuid":"612727723","full_name":"tahmid-saj/chat-sigma","owner":"tahmid-saj","description":"Chatbot developed to answer every day queries, have communication and be a virtual assistant. Developed with MERN, OpenAI API, AWS, Material UI.","archived":false,"fork":false,"pushed_at":"2024-10-18T02:30:12.000Z","size":573,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-28T13:21:18.450Z","etag":null,"topics":["aws","chatbot","express","material-ui","node","openai","react"],"latest_commit_sha":null,"homepage":"https://www.chatsigma.io/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tahmid-saj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-11T19:52:28.000Z","updated_at":"2024-10-18T02:30:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"d225534f-9d1a-4b50-9e46-3b75084c5ef6","html_url":"https://github.com/tahmid-saj/chat-sigma","commit_stats":null,"previous_names":["tahmid-saj/chat-sigma"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tahmid-saj%2Fchat-sigma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tahmid-saj%2Fchat-sigma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tahmid-saj%2Fchat-sigma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tahmid-saj%2Fchat-sigma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tahmid-saj","download_url":"https://codeload.github.com/tahmid-saj/chat-sigma/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248988044,"owners_count":21194349,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","chatbot","express","material-ui","node","openai","react"],"created_at":"2024-12-24T22:13:58.126Z","updated_at":"2025-04-15T01:28:01.763Z","avatar_url":"https://github.com/tahmid-saj.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [chatsigma.io](https://www.chatsigma.io/)\n\u003cbr\u003e\n\nChatbot developed to answer every day queries, have communication and be a virtual assistant. Developed with MERN, OpenAI API, AWS, Material UI.\n\u003cbr\u003e\n\u003cbr\u003e\n\nThe structure of the codebase is as follows:\n\n```\nchat-sigma/\n└── src/\n    ├── App.js\n    ├── App.test.js\n    ├── assets/\n    ├── components/\n    │   ├── chat/\n    │   │   ├── chat-messages/\n    │   │   │   ├── chat-messages.component.jsx\n    │   │   │   ├── chat-messages.styles.jsx\n    │   │   │   ├── message-couple/\n    │   │   │   │   ├── message-couple.component.jsx\n    │   │   │   │   └── message-couple.styles.jsx\n    │   │   │   ├── sigma-message/\n    │   │   │   │   ├── sigma-message.component.jsx\n    │   │   │   │   └── sigma-message.styles.jsx\n    │   │   │   └── user-message/\n    │   │   │       ├── user-message.component.jsx\n    │   │   │       └── user-message.styles.jsx\n    │   │   └── send-message/\n    │   │       ├── send-message.component.jsx\n    │   │       └── send-message.styles.scss\n    │   ├── export/\n    │   ├── home/\n    │   └── shared/\n    │       ├── button/\n    │       ├── form-input/\n    │       │   ├── form-input.component.jsx\n    │       │   ├── form-input.styles.jsx\n    │       │   └── form-input.styles.scss\n    │       ├── mui/\n    │       │   ├── card/\n    │       │   │   ├── card.component.jsx\n    │       │   │   └── card.styles.scss\n    │       │   ├── circular-progress/\n    │       │   │   └── circular-progress.component.jsx\n    │       │   ├── icon-button/\n    │       │   │   └── icon-button.styles.jsx\n    │       │   ├── linear-progress/\n    │       │   │   └── linear-progress.component.jsx\n    │       │   ├── media-card/\n    │       │   │   ├── media-card.component.jsx\n    │       │   │   └── media-card.styles.jsx\n    │       │   ├── paper/\n    │       │   │   ├── paper.component.jsx\n    │       │   │   └── paper.styles.scss\n    │       │   └── text-field/\n    │       │       └── text-field.component.jsx\n    │       └── navigation/\n    │           ├── navigation.component.jsx\n    │           └── navigation.styles.jsx\n    ├── contexts/\n    │   ├── chat/\n    │   │   └── chat.context.jsx\n    │   └── export/\n    ├── index.js\n    ├── index.scss\n    ├── logo.svg\n    ├── pages/\n    │   ├── chat/\n    │   │   ├── chat.component.jsx\n    │   │   └── chat.styles.jsx\n    │   ├── export/\n    │   │   ├── export.component.jsx\n    │   │   └── export.styles.jsx\n    │   └── home/\n    │       ├── home.component.jsx\n    │       └── home.styles.jsx\n    ├── reportWebVitals.js\n    ├── routes/\n    │   ├── chat/\n    │   │   ├── chat.component.jsx\n    │   │   └── chat.styles.jsx\n    │   ├── export/\n    │   │   └── export.component.jsx\n    │   ├── home/\n    │   │   └── home.component.jsx\n    │   └── navigation/\n    │       ├── navigation.component.jsx\n    │       └── navigation.styles.jsx\n    ├── setupTests.js\n    └── utils/\n        ├── alerts/\n        ├── api-requests/\n        │   └── chat.requests.js\n        ├── constants/\n        │   └── shared.constants.js\n        ├── errors/\n        │   └── chat.errors.js\n        ├── helpers/\n        └── validations/\n            └── chat.validation.js\n```\n\n\u003cfigure\u003e\n  \u003cimg width=\"927\" alt=\"image\" src=\"https://github.com/user-attachments/assets/3e052a4b-9faa-4bf4-a33c-079843a5942a\"\u003e\n\u003c/figure\u003e\n\u003cbr\u003e\n\n[Figure 1: High level view](https://whimsical.com/chat-sigma-WwC92dVpKTpRRhUoHBmWXg)\n\u003cbr\u003e\n\u003cbr\u003e\n\n### The application consists of the following main components:\n\n1. __Client__: React frontend web application which initiates requests for the chatbot and exporting chat sessions.\n2. __Chat Sigma API__: Utilizes the OpenAI API to handle chat requests. Returns a detailed summary for exporting chat sessions.\n3. __OpenAI API service__: OpenAI service which uses different GPT models and tokens.\n4. __Security__: AWS security services (AWS Inspector and GuardDuty) which monitors the security of APIs. Later, data and logs from the services are queried and viewed using an external security tool.\n5. __Monitoring__: Monitoring service which collects data and logs from APIs using CloudWatch, then stores them in S3 to be viewed as a dashboard via an external monitoring tool. \n6. __Notifications__: Receives various data and logs in S3 buckets and later sends emails (on issues or failures) using SQS and Lambda.\n\u003cbr\u003e\n\n### Setting up the development environment:\n\n1. __Cloning the repository__: You would first need to clone this repository on the host you want to set up your development environment:\n```shell\ngit clone https://github.com/tahmid-saj/chat-sigma.git\n```\n2. __Installing dependencies__: Install the required NPM packages in __package.json__:\n```shell\nnpm install\n```\n3. __Environment variables__: The required environment variables are used:\n```env\nREACT_APP_API_URL_CHAT=\u003cURL of chatbot API\u003e\n```\n4. __API__: Client requests go to an API that uses the OpenAI API. The API also provides the chat summary exporting feature.\n5. __AWS__: Setting up the AWS services is an optional step as this is on a development environment. However, the same services could be used to create the tools mentioned in the high level view.\n6. __Running the client__: The client can be run using:\n```\nnpm start\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftahmid-saj%2Fchat-sigma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftahmid-saj%2Fchat-sigma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftahmid-saj%2Fchat-sigma/lists"}