diff --git a/.github/ISSUE_TEMPLATE/BUG-REPORT.yml b/.github/ISSUE_TEMPLATE/BUG-REPORT.yml new file mode 100644 index 000000000..21eb72328 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/BUG-REPORT.yml @@ -0,0 +1,52 @@ +name: Bug Report +description: File a bug report +title: "[Bug]: " +labels: ["bug", "dependencies", "documentation ", "duplicate", "enhancement", "good first issue", "help wanted", "invalid", "question", "tech debt", "wontfix"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + - type: input + id: contact + attributes: + label: Contact Details + description: How can we get in touch with you if we need more info? + placeholder: ex. email@example.com + validations: + required: false + - type: textarea + id: what-happened + attributes: + label: What happened? + description: Also tell us, what did you expect to happen? + placeholder: Tell us what you see! + value: "A bug happened!" + validations: + required: true + - type: dropdown + id: browsers + attributes: + label: What browsers are you seeing the problem on? + multiple: true + options: + - Firefox + - Chrome + - Safari + - Microsoft Edge + - Mobile (iOS) + - Mobile (Android) + - type: textarea + id: logs + attributes: + label: Relevant log output + description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. + render: shell + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/danny-avila/chatgpt-clone/blob/main/documents/contributions/code_of_conduct.md) + options: + - label: I agree to follow this project's Code of Conduct + required: true \ No newline at end of file diff --git a/documents/contributions/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/PULL-REQUEST.md similarity index 82% rename from documents/contributions/pull_request_template.md rename to .github/PULL_REQUEST_TEMPLATE/PULL-REQUEST.md index cd1a3ab12..6f45e4955 100644 --- a/documents/contributions/pull_request_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/PULL-REQUEST.md @@ -1,40 +1,35 @@ -Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change. - -Fixes # (issue) - -## Type of change - -Please delete options that are not relevant. - -- [ ] Bug fix (non-breaking change which fixes an issue) -- [ ] New feature (non-breaking change which adds functionality) -- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) -- [ ] This change requires a documentation update - -# How Has This Been Tested? - -Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration - -- [ ] Test A -- [ ] Test B - -**Test Configuration**: -* Firmware version: -* Hardware: -* Toolchain: -* SDK: - -# Checklist: - -- [ ] My code follows the style guidelines of this project -- [ ] I have performed a self-review of my code -- [ ] I have commented my code, particularly in hard-to-understand areas -- [ ] I have made corresponding changes to the documentation -- [ ] My changes generate no new warnings -- [ ] I have added tests that prove my fix is effective or that my feature works -- [ ] New and existing unit tests pass locally with my changes -- [ ] Any dependent changes have been merged and published in downstream modules - -## - -## [Go Back to ReadMe](../../README.md) +Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change. + + + +## Type of change + +Please delete options that are not relevant. + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) +- [ ] This change requires a documentation update + + + +## How Has This Been Tested? + +Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration: +## + + +### **Test Configuration**: +## + + +## Checklist: + +- [ ] My code follows the style guidelines of this project +- [ ] I have performed a self-review of my code +- [ ] I have commented my code, particularly in hard-to-understand areas +- [ ] I have made corresponding changes to the documentation +- [ ] My changes generate no new warnings +- [ ] I have added tests that prove my fix is effective or that my feature works +- [ ] New and existing unit tests pass locally with my changes +- [ ] Any dependent changes have been merged and published in downstream modules diff --git a/README.md b/README.md index cc448d1ce..a5172e13c 100644 --- a/README.md +++ b/README.md @@ -112,21 +112,11 @@ * [Documentation Guidelines](documents/contributions/documentation_guidelines.md) * [Code Standards and Conventions](documents/contributions/coding_conventions.md) * [Testing](documents/contributions/testing.md) - * [Pull Request Template](documents/contributions/pull_request_template.md) + * [Security](SECURITY.md) * [Contributors](CONTRIBUTORS.md) * [Trello Board](https://trello.com/b/17z094kq/chatgpt-clone) -
- Report Templates - - * [Bug Report Template](documents/report_templates/bug_report_template.md) - * [Custom Issue Template](documents/report_templates/custom_issue_template.md) - * [Feature Request Template](documents/report_templates/feature_request_template.md) -
- -## -### [Alternative Documentation](https://chatgpt-clone.gitbook.io/chatgpt-clone-docs/get-started/docker) ## diff --git a/SECURITY.md b/SECURITY.md index 0179d6c1d..d06877f7d 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -9,7 +9,7 @@ If you discover a security vulnerability within our project, please follow these ### Communication channels - **Option 1: GitHub Security Advisory System**: We encourage you to use GitHub's Security Advisory system to report any security vulnerabilities you find. This allows us to receive vulnerability reports directly through GitHub. You can find more information on how to submit a security advisory report in the [GitHub Security Advisories documentation](https://docs.github.com/en/code-security/getting-started-with-security-vulnerability-alerts/about-github-security-advisories). - **Option 2: Github issues**: You can initiate first contact via Github Issues. **Please note that initial contact through Discord should not include any sensitive details.** - - **Option 3: Discord Server**: You can join our [Discord community](https://discord.gg/NGaa9RPCft) and initiate first contact in the `#issues` channel. **Please note that initial contact through Discord should not include any sensitive details.** + - **Option 3: Discord Server**: You can join our [Discord community](https://discord.gg/5rbRxn4uME) and initiate first contact in the `#issues` channel. **Please note that initial contact through Discord should not include any sensitive details.** _After initial contact, we will use this initial contact to establish a private communication channel for further discussion._ @@ -24,7 +24,7 @@ We will make every effort to acknowledge your report within 72 hours and keep yo ## Security Updates and Patching We are committed to maintaining the security of our open-source project named ChatGPT-Clone and promptly addressing any identified vulnerabilities. To ensure the security of our project, we follow these practices: - We prioritize security updates for the current major release of our software. - - We actively monitor the GitHub Security Advisory system and the `#security-reports` channel on Discord for any vulnerability reports. + - We actively monitor the GitHub Security Advisory system and the `#issues` channel on Discord for any vulnerability reports. - We promptly review and validate reported vulnerabilities and take appropriate actions to address them. - We release security patches and updates in a timely manner to mitigate any identified vulnerabilities. @@ -45,3 +45,7 @@ We would like to express our gratitude to the security researchers and community ## Bug Bounty Program We do not currently have a bug bounty program in place. However, we welcome and appreciate any security-related contributions through pull requests (PRs) that address vulnerabilities in our codebase. We believe in the power of collaboration to improve the security of our project and invite you to join us in making it more robust. + +## + +## [Go Back to ReadMe](README.md) diff --git a/documents/install/mac_install.md b/documents/install/mac_install.md index 3bbe717d2..dd16dba30 100644 --- a/documents/install/mac_install.md +++ b/documents/install/mac_install.md @@ -2,21 +2,38 @@ Thanks to @heathriel! ## -**Install the prerequisites**: +**Recommended - [Docker Install](docker_install.md)** + +## **Install the prerequisites**: - Install Homebrew (if not already installed) by following the instructions on https://brew.sh/ - Install Node.js and npm by running `brew install node` - Install MongoDB (if not using Docker) by running `brew tap mongodb/brew` and `brew install mongodb-community` - - Install Docker (optional) by following the instructions on https://docs.docker.com/desktop/mac/install/ - - Obtain an OpenAI API key, BingAI and ChatGPT access tokens as described in the original instructions - - - **Instructions:** + + - **Create a MongoDB database** + + - Navigate to https://www.mongodb.com/ and Sign In or Create an account + - Create a new project + - Build a Database using the free plan and name the cluster (example: chatgpt-clone) + - Use the "Username and Password" method for authentication + - Add your current IP to the access list + - Then in the Database Deployment tab click on Connect + - In "Choose a connection method" select "Connect your application" + - Driver = Node.js / Version = 4.1 or later + - Copy the connection string and save it somewhere(you will need it later) + + + ## **Instructions:** - Open Terminal and clone the repository by running git clone https://github.com/danny-avila/chatgpt-clone.git - Change into the cloned directory by running cd chatgpt-clone - If using MongoDB Atlas, remove &w=majority from the default connection string Follow the instructions for setting up proxies, access tokens, and user system: -**Access Tokens:** +### **Access Tokens:** + +**Get your OpenAI API key** + + - here: https://platform.openai.com/account/api-keys and save it somewhere safe (you will need it later) **ChatGPT Free Instructions:** @@ -31,33 +48,13 @@ Follow the instructions for setting up proxies, access tokens, and user system: - Expand the "Cookies" section under "Storage". - Copy the value of the "_U" cookie and save it somewhere. You'll need it later. -**Set up proxy in the local environment (for Mac):** - -**Option 1: Set system-level environment variable** - - - Open Terminal and run export PROXY="http://127.0.0.1:7890" - - Change http://127.0.0.1:7890 to your proxy server - -**Option 2: Set in .env file** - - - Open the .env file in the api directory with a text editor - - Add PROXY="http://127.0.0.1:7890" to the file - - Change http://127.0.0.1:7890 to your proxy server - -**Set up proxy in the Docker environment (for Mac):** - - - Open the docker-compose.yml file with a text editor - - Under services, find the api section, and then locate the environment section - - Add the line - "PROXY=http://127.0.0.1:7890" under the environment section - - Change http://127.0.0.1:7890 to your proxy server - - +## **Setup Instruction** - Create a .env file in the api directory by running cp api/.env.example api/.env and edit the file with your preferred text editor, adding the required API keys, access tokens, and MongoDB connection string - - Run npm ci root directory `npm ci` + - Run npm ci from root directory `npm ci` - Build the client by running `npm run frontend` -**Download MeiliSearch for macOS:** +**Download MeiliSearch for macOS (optional):** - You can download the latest MeiliSearch binary for macOS from their GitHub releases page: https://github.com/meilisearch/MeiliSearch/releases. Look for the file named meilisearch-macos-amd64 (or the equivalent for your system architecture) and download it. **Make the binary executable:** @@ -85,10 +82,10 @@ MEILISEARCH_KEY=your_master_key_goes_here - With MeiliSearch running and configured, the ChatGPT-Clone project should now have the Conversation search feature enabled. - - In the chatgpt-clone directory, start the application by running cd api && npm start + - In the chatgpt-clone directory, start the application by running `npm run backend` Visit http://localhost:3080 (default port) & enjoy -**Optional but recommended:** +## **Optional but recommended:** - Create a script to automate the starting process by creating a new file named start_chatgpt.sh in the chatgpt-clone directory and pasting the following code: @@ -111,9 +108,12 @@ npm run backend ``` ./start_chatgpt.sh ``` -## -**Note:** - - To share within the network or serve as a public server, set HOST to 0.0.0.0 in the .env file. + + +## **Update** +- run `git pull` from the root dir +- Run npm ci from root directory `npm ci` +- Build the client by running `npm run frontend` ## diff --git a/documents/install/windows_install.md b/documents/install/windows_install.md index 2a8d73a70..f10abbbd0 100644 --- a/documents/install/windows_install.md +++ b/documents/install/windows_install.md @@ -1,22 +1,24 @@ # Windows Install ### Recommended: +### **[Docker](docker.md)** +or ### **[Automated Installer (Windows)](https://github.com/fuegovic/chatgpt-clone-local-installer)** (Includes a Startup and Update Utility) ## - +## Manual Installation ### Install the prerequisites on your machine - **Download chatgpt-clone** - - + - Download the latest release here: https://github.com/danny-avila/chatgpt-clone/releases/ - Or by clicking on the green code button in the top of the page and selecting "Download ZIP" - Or (Recommended if you have Git installed) pull the latest release from the main branch - If you downloaded a zip file, extract the content in "C:/chatgpt-clone/" - **IMPORTANT : If you install the files somewhere else modify the instructions accordingly** - - ** **Enable the Conversation search feature:**** (optional) + - **Enable the Conversation search feature:** (optional) - Download MeiliSearch latest release from : https://github.com/meilisearch/meilisearch/releases - Copy it to "C:/chatgpt-clone/" @@ -81,25 +83,24 @@ To use the app: - **Make a batch file to automate the starting process** - Open a text editor - Paste the following code in a new document + - The meilisearch executable needs to be at the root of the chatgpt-clone directory - Put your MeiliSearch master key instead of "your_master_key_goes_here" - Save the file as "C:/chatgpt-clone/chatgpt-clone.bat" - you can make a shortcut of this batch file and put it anywhere ``` -REM the meilisearch executable needs to be at the root of the chatgpt-clone directory - start "MeiliSearch" cmd /k "meilisearch --master-key your_master_key_goes_here -REM ↑↑↑ meilisearch is the name of the meilisearch executable, put your own master key there - start "ChatGPT-Clone" cmd /k "npm run backend" REM this batch file goes at the root of the chatgpt-clone directory (C:/chatgpt-clone/) ``` -### Update the app version +### **Update** +- run `git pull` from the root dir +- Run npm ci from root directory `npm ci` +- Build the client by running `npm run frontend` -If you update the chatgpt-clone project files, mannually redo the `npm ci` and `npm run frontend` steps ## diff --git a/documents/report_templates/bug_report_template.md b/documents/report_templates/bug_report_template.md deleted file mode 100644 index 87604a5ce..000000000 --- a/documents/report_templates/bug_report_template.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -name: Bug report -about: Create a report to help improve code's quality -title: "[bug] " -labels: bug -assignees: '' - ---- - - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Desktop (please complete the following information):** - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] - -**Smartphone (please complete the following information):** - - Device: [e.g. iPhone6] - - OS: [e.g. iOS8.1] - - Browser [e.g. stock browser, safari] - - Version [e.g. 22] - -**Additional context** -Add any other context about the problem here. - - diff --git a/documents/report_templates/custom_issue_template.md b/documents/report_templates/custom_issue_template.md deleted file mode 100644 index b894315f4..000000000 --- a/documents/report_templates/custom_issue_template.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: Custom issue template -about: Describe this issue template's purpose here. -title: '' -labels: '' -assignees: '' - ---- diff --git a/documents/report_templates/feature_request_template.md b/documents/report_templates/feature_request_template.md deleted file mode 100644 index a2cf51afa..000000000 --- a/documents/report_templates/feature_request_template.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: "[feature] " -labels: enhancement -assignees: '' - ---- - -**Feature description** -... - -**What you expect** -... - -**Addition(s)** -...