{"id":26891156,"url":"https://github.com/rvg07/sorest","last_synced_at":"2025-09-11T21:36:53.546Z","repository":{"id":285289562,"uuid":"957620391","full_name":"rvg07/sorest","owner":"rvg07","description":"A web-based API client that allows users to create and manage REST and SOAP API request collections.","archived":false,"fork":false,"pushed_at":"2025-03-30T21:14:51.000Z","size":22,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T21:23:40.406Z","etag":null,"topics":["nodejs","postman-collection","reactjs","rest-api","soap-api","soapui","tailwindcss","vite"],"latest_commit_sha":null,"homepage":"","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/rvg07.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":"2025-03-30T19:57:58.000Z","updated_at":"2025-03-30T21:14:54.000Z","dependencies_parsed_at":"2025-03-30T21:23:45.891Z","dependency_job_id":"69533edb-b542-40e8-8884-e8f17a50fe46","html_url":"https://github.com/rvg07/sorest","commit_stats":null,"previous_names":["rvg07/sorest"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rvg07%2Fsorest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rvg07%2Fsorest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rvg07%2Fsorest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rvg07%2Fsorest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rvg07","download_url":"https://codeload.github.com/rvg07/sorest/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246553005,"owners_count":20795834,"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":["nodejs","postman-collection","reactjs","rest-api","soap-api","soapui","tailwindcss","vite"],"created_at":"2025-03-31T22:32:56.843Z","updated_at":"2025-09-11T21:36:53.533Z","avatar_url":"https://github.com/rvg07.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003ca\u003e\u003cimg src=\"https://github.com/rvg07/sorest/blob/main/img/sorest_logo.png\" alt=\"SoRest\" width=\"200\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  SoRest\n  \u003cbr\u003e\n\u003c/h1\u003e\n\n\n\u003ch4\u003eA web-based API client built using React.js, Tailwind CSS, and Vite and allows developers to create and manage API request collections, send requests, and view responses. Includes support for query parameters, headers, and request bodies.\u003c/h4\u003e\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n![SoRest Screenshot](https://github.com/rvg07/sorest/blob/main/img/sorest.png)\n\n## Table of Contents\n\n*   [Overview](#overview)\n*   [Tech Stack](#tech-stack)\n*   [Setup](#setup)\n    *   [Prerequisites](#prerequisites)\n    *   [Installation](#installation)\n*   [License](#license)\n## Overview\n\nSoRest provides a simplified, browser-based interface for interacting with RESTful and SOAP APIs. It allows developers to organize requests into collections, configure various request details (method, URL, query params, headers, body), send the requests through a local proxy to bypass CORS issues during development, and inspect the responses (body, headers, status, time, size). All collection data is persisted locally using the browser's `localStorage`.\n\n\n## Tech Stack\n\n*   **Frontend:**\n    *   React.js (v18+)\n    *   JavaScript (JSX)\n    *   Tailwind CSS (v3+)\n    *   Vite \n    *   Lucide React\n    *   `@uiw/react-codemirror`  \n    *   `axios`\n*   **Backend Proxy (for CORS):**\n    *   Node.js\n    *   Express.js\n    *   `axios` - To make requests from the proxy to the target API\n    *   `cors` - Node.js CORS middleware\n\n\n\n## Setup\n\nFollow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.\n\n### Prerequisites\n\n*   Node.js (v18 or later recommended)\n*   npm (v8+ recommended)\n\n### Installation\n\n1.  **Clone the repository:**\n    ```bash\n    git clone https://github.com/rvg07/sorest.git\n    cd sorest\n    ```\n\n2.  **Install ALL dependencies:**\n    *(this part installs React.js, Vite, Tailwind ....)*\n    ```bash\n    npm install\n    ```\n\n3.  **Configure Environment Variables:**\n    *   Rename the example environment `.env.example` file in `.env`.\n    *   Edit the `.env` file with your local settings. Pay attention to:\n        *   `PROXY_PORT`: the port your backend proxy server will run on (defaults to `3001` in `proxy-server.js` if not set). Make very sure this doesn't clash with other services.\n \n        *   `VITE_BACKEND_PROXY_URL`: the **full URL** your frontend should use to contact your backend proxy server (e.g., `http://localhost:3001/proxy-request`). **This is very important!**\n\n    **`.env.example` should look something like this:**\n    ```env\n    # Port for the Vite frontend development server \n    PORT=5173\n\n    # Backend Proxy Configuration\n    PROXY_PORT=3001\n\n    # URL the frontend uses to talk to the BACKEND proxy\n    VITE_BACKEND_PROXY_URL=http://localhost:3001/proxy-request\n    ```\n\n### Running Locally\n\n1.  **Start Both Servers:**\n    open a terminal in the project root and run the combined development script (assuming you've set up `concurrently` in `package.json` as shown previously):\n    ```bash\n    npm run dev\n    ```\n    This command should:\n    *   Start the **Backend Proxy Server** (listening on the port defined by `PROXY_PORT` in your `.env` file, likely `3001`).\n    *   Start the **Frontend Vite Development Server** (usually on `http://localhost:5173` or the next available port).\n\n2.  **Access the Application:**\n    in dev mode usually url is: `http://localhost:5173`.\n\n3.  **Usage:**\n    *   When click \"Send\", the React app will make a request to the URL specified in `VITE_BACKEND_PROXY_URL` (`http://localhost:3001/proxy-request`).\n    *   Backend proxy server will handle the request, contact the *actual* target API specified in the URL input field, and return the response.\n\n## License\n[MIT](https://choosealicense.com/licenses/mit/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frvg07%2Fsorest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frvg07%2Fsorest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frvg07%2Fsorest/lists"}