diff --git a/README.md b/README.md index f9938157..01324690 100644 --- a/README.md +++ b/README.md @@ -405,12 +405,12 @@ _It is the sole responsibility of the end users to respect websites' policies wh ## License Disclaimer -This project is primarily licensed under the GNU Affero General Public License v3.0 (AGPL-3.0), as specified in the LICENSE file in the root directory of this repository. However, certain components of this project, specifically the SDKs located in the `/apps/js-sdk` and `/apps/python-sdk` directories, are licensed under the MIT License. +This project is primarily licensed under the GNU Affero General Public License v3.0 (AGPL-3.0), as specified in the LICENSE file in the root directory of this repository. However, certain components of this project are licensed under the MIT License. Refer to the LICENSE files in these specific directories for details. Please note: - The AGPL-3.0 license applies to all parts of the project unless otherwise specified. -- The SDKs in `/apps/js-sdk` and `/apps/python-sdk` are licensed under the MIT License. Refer to the LICENSE files in these specific directories for details. +- The SDKs and some UI components are licensed under the MIT License. Refer to the LICENSE files in these specific directories for details. - When using or contributing to this project, ensure you comply with the appropriate license terms for the specific component you are working with. For more details on the licensing of specific components, please refer to the LICENSE files in the respective directories or contact the project maintainers. diff --git a/apps/ui/ingestion-ui/LICENSE b/apps/ui/ingestion-ui/LICENSE new file mode 100644 index 00000000..2635155f --- /dev/null +++ b/apps/ui/ingestion-ui/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Sideguide Technologies Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/apps/ui/ingestion-ui/README.md b/apps/ui/ingestion-ui/README.md index e1cdc89d..e6b49b95 100644 --- a/apps/ui/ingestion-ui/README.md +++ b/apps/ui/ingestion-ui/README.md @@ -1,30 +1,65 @@ -# React + TypeScript + Vite +# Firecrawl UI Template -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. +This template provides an easy way to spin up a UI for Firecrawl using React. It includes a pre-built component that interacts with the Firecrawl API, allowing you to quickly set up a web crawling and scraping interface. -Currently, two official plugins are available: +## ⚠️ Important Security Notice -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh +**This template exposes Firecrawl API keys in the client-side code. For production use, it is strongly recommended to move API interactions to a server-side implementation to protect your API keys.** -## Expanding the ESLint configuration +## Prerequisites -If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: +- Node.js (v14 or later recommended) +- npm -- Configure the top-level `parserOptions` property like this: +## Getting Started -```js -export default { - // other rules... - parserOptions: { - ecmaVersion: 'latest', - sourceType: 'module', - project: ['./tsconfig.json', './tsconfig.node.json', './tsconfig.app.json'], - tsconfigRootDir: __dirname, - }, -} -``` +1. Install dependencies: -- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked` -- Optionally add `plugin:@typescript-eslint/stylistic-type-checked` -- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list + ``` + npm install + ``` + +2. Set up your Firecrawl API key: + Open `src/components/FirecrawlComponent.tsx` and replace the placeholder API key: + + ```typescript + const FIRECRAWL_API_KEY = "your-api-key-here"; + ``` + +3. Start the development server: + + ``` + npm run dev + ``` + +4. Open your browser and navigate to the port specified in your terminal + +## Customization + +The main Firecrawl component is located in `src/components/FirecrawlComponent.tsx`. You can modify this file to customize the UI or add additional features. + +## Security Considerations + +For production use, consider the following security measures: + +1. Move API interactions to a server-side implementation to protect your Firecrawl API key. +2. Implement proper authentication and authorization for your application. +3. Set up CORS policies to restrict access to your API endpoints. + +## Learn More + +For more information about Firecrawl and its API, visit the [Firecrawl documentation](https://docs.firecrawl.dev/). + +## Contributing + +Contributions are welcome! Please feel free to submit a Pull Request. + +## License + +The Firecrawl Ingestion UI Template is licensed under the MIT License. This means you are free to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the SDK, subject to the following conditions: + +- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Please note that while this SDK is MIT licensed, it is part of a larger project which may be under different licensing terms. Always refer to the license information in the root directory of the main project for overall licensing details.