{"id":22153615,"url":"https://github.com/harshilchovatiya/tools-app","last_synced_at":"2026-05-07T13:36:48.592Z","repository":{"id":252368198,"uuid":"840232334","full_name":"harshilchovatiya/tools-app","owner":"harshilchovatiya","description":"Tools App is a versatile web application built with Flask for various utility functionalities. It includes features such as QR code generation, URL shortening, image compression, image upscaling, and file conversion. The app uses MongoDB for data storage and provides a user-friendly interface to interact with its services. ","archived":false,"fork":false,"pushed_at":"2024-08-31T12:13:29.000Z","size":13282,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T13:46:04.479Z","etag":null,"topics":["api-images","flask","mongodb","python","qrcode","qrcodegenerator","web-app","web-development"],"latest_commit_sha":null,"homepage":"https://tools-app-ten.vercel.app/","language":"Python","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/harshilchovatiya.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":"2024-08-09T08:52:47.000Z","updated_at":"2024-08-31T12:13:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"08fdf254-60c4-4d39-9b44-86737dc9e202","html_url":"https://github.com/harshilchovatiya/tools-app","commit_stats":null,"previous_names":["harshilchovatiya/tools-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/harshilchovatiya/tools-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harshilchovatiya%2Ftools-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harshilchovatiya%2Ftools-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harshilchovatiya%2Ftools-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harshilchovatiya%2Ftools-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/harshilchovatiya","download_url":"https://codeload.github.com/harshilchovatiya/tools-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harshilchovatiya%2Ftools-app/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266801467,"owners_count":23986372,"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","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["api-images","flask","mongodb","python","qrcode","qrcodegenerator","web-app","web-development"],"created_at":"2024-12-02T01:22:49.512Z","updated_at":"2026-05-07T13:36:48.533Z","avatar_url":"https://github.com/harshilchovatiya.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tools App\n\nWelcome to the Tools App! This application provides a suite of useful tools for image processing, file conversion, URL shortening, and QR code generation.\n\n## Overview\n\nThe Tools App includes the following features:\n1. **Image Compressor**: Compresses images by adjusting their quality.\n2. **Image Enhancer**: Upscales image resolution based on a scale factor.\n3. **QR Code Generator**: Generates QR codes from text.\n4. **URL Shortener**: Shortens long URLs to manageable short links.\n5. **File Converter**: Converts various file types to different formats, including:\n   - **Image to PDF**\n   - **DOCX to TXT**\n   - **JSON to TXT**\n6. **Image to Text Converter**: Converts images to text using OCR.\n7. **Speedtest**: Measures the speed of your internet connection.\n8. **Unit Converter**: Converts between different units of measurement.\n\n## Features\n\n- **Image Compressor**: Upload an image, select the compression quality, and download the compressed image.\n- **Image Enhancer**: Upload an image, choose a scale factor to increase its resolution, and download the enhanced image.\n- **QR Code Generator**: Enter text to generate a QR code, view it, and download the QR code image.\n- **URL Shortener**: Shorten long URLs and get a short link that redirects to the original URL.\n- **File Converter**: Convert images to PDFs, DOCX files to text, and JSON files to text.\n- **Image to Text Converter**: Upload an image and receive the extracted text.\n- **Speedtest**: Measure your internet connection's download and upload speeds.\n- **Unit Converter**: Convert between units like length, weight, and temperature.\n\n## API Documentation\n\n### **QR Code API**\n\n- **Endpoint**: `/api/qr_code`\n- **Method**: `POST`\n- **Request**: JSON payload with `text` field.\n- **Response**: JSON containing the base64-encoded QR code image.\n\n### **URL Shortener API**\n\n- **Endpoint**: `/api/shorten`\n- **Method**: `POST`\n- **Request**: JSON payload with `long_url` field.\n- **Response**: JSON containing the `short_url`.\n\n- **Endpoint**: `/api/expand/\u003cshort_url\u003e`\n- **Method**: `GET`\n- **Response**: JSON containing the `long_url` or error message.\n\n### **Image Compressor API**\n\n- **Endpoint**: `/api/image_compressor`\n- **Method**: `POST`\n- **Request**: Form data with `image` file and `quality` parameter.\n- **Response**: Compressed image in JPEG format.\n\n### **Image Enhancer API**\n\n- **Endpoint**: `/api/image_upscaler`\n- **Method**: `POST`\n- **Request**: Form data with `image` file and `scale` factor.\n- **Response**: Upscaled image in JPEG format.\n\n### **File Converter API**\n\n- **Endpoint**: `/api/convert_file`\n- **Method**: `POST`\n- **Request**: Form data with `file`, `file_type`, and `output_format`.\n- **Response**: Converted file (PDF or TXT) based on input and output format.\n\n### **Image to Text API**\n\n- **Endpoint**: `/api/image_to_text`\n- **Method**: `POST`\n- **Request**: Form data with `image` file.\n- **Response**: JSON containing the extracted text.\n\n### **Speedtest API**\n\n- **Endpoint**: `/api/speedtest`\n- **Method**: `GET`\n- **Response**: JSON containing download and upload speeds.\n\n### **Unit Converter API**\n\n- **Endpoint**: `/api/unit_converter`\n- **Method**: `POST`\n- **Request**: JSON payload with `value`, `from_unit`, and `to_unit` fields.\n- **Response**: JSON containing the converted value.\n\n## API Reference\n\n### **Generate QR Code**\n\n```http\n  POST /api/qr_code\n```\n\n| Parameter | Type     | Description                |\n| :-------- | :------- | :------------------------- |\n| `text`    | `string` | **Required**. Text to generate QR code |\n\n### **Shorten URL**\n\n```http\n  POST /api/shorten\n```\n\n| Parameter | Type     | Description                |\n| :-------- | :------- | :------------------------- |\n| `long_url`| `string` | **Required**. Long URL to shorten |\n\n### **Expand URL**\n\n```http\n  GET /api/expand/\u003cshort_url\u003e\n```\n\n| Parameter | Type     | Description                        |\n| :-------- | :------- | :--------------------------------- |\n| `short_url` | `string` | **Required**. Short URL to expand |\n\n### **Image Compressor**\n\n```http\n  POST /api/image_compressor\n```\n\n| Parameter | Type     | Description                |\n| :-------- | :------- | :------------------------- |\n| `image`   | `file`   | **Required**. Image file to compress |\n| `quality` | `integer`| **Optional**. Compression quality (10-90) |\n\n### **Image Enhancer**\n\n```http\n  POST /api/image_upscaler\n```\n\n| Parameter | Type     | Description                |\n| :-------- | :------- | :------------------------- |\n| `image`   | `file`   | **Required**. Image file to upscale |\n| `scale`   | `float`  | **Optional**. Scale factor for resizing (e.g., 2 for 2x) |\n\n### **File Converter**\n\n```http\n  POST /api/convert_file\n```\n\n| Parameter     | Type     | Description                              |\n| :------------ | :------- | :--------------------------------------- |\n| `file`        | `file`   | **Required**. File to convert            |\n| `file_type`   | `string` | **Required**. Type of the file to convert (`image`, `docx`, `json`) |\n| `output_format` | `string` | **Required**. Desired output format (`pdf` or `txt`) |\n\n### **Image to Text**\n\n```http\n  POST /api/image_to_text\n```\n\n| Parameter | Type     | Description                |\n| :-------- | :------- | :------------------------- |\n| `image`   | `file`   | **Required**. Image file to extract text from |\n\n### **Speedtest**\n\n```http\n  GET /api/speedtest\n```\n\n| Parameter | Type     | Description                |\n| :-------- | :------- | :------------------------- |\n| `None`    | `None`   | Returns download and upload speeds |\n\n### **Unit Converter**\n\n```http\n  POST /api/unit_converter\n```\n\n| Parameter | Type     | Description                |\n| :-------- | :------- | :------------------------- |\n| `value`   | `float`  | **Required**. Value to convert |\n| `from_unit` | `string` | **Required**. Unit of the value being converted |\n| `to_unit` | `string` | **Required**. Unit to convert to |\n\n## Demo\n\nYou can try out the app by visiting the following URLs:\n- [Image Compressor](http://localhost:5000/image_compressor)\n- [Image Enhancer](http://localhost:5000/image_upscaler)\n- [QR Code Generator](http://localhost:5000/qr_code)\n- [URL Shortener](http://localhost:5000/url_shortener)\n- [File Converter](http://localhost:5000/file_converter)\n- [Image to Text Converter](http://localhost:5000/image_to_text)\n- [Speedtest](http://localhost:5000/speedtest)\n- [Unit Converter](http://localhost:5000/unit_converter)\n\n## Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/harshilchovatiya/tools-app.git\n   cd tools-app\n   ```\n\n2. Create a virtual environment and install dependencies:\n   ```bash\n   python -m venv venv\n   source venv/bin/activate  # On Windows use `venv\\Scripts\\activate`\n   pip install -r requirements.txt\n   ```\n\n3. Initialize the database:\n   ```bash\n   python app.py\n   ```\n\n4. Run the application:\n   ```bash\n   python app.py\n   ```\n\n5. Open your browser and go to `http://localhost:5000` to use the app.\n\n## Contact\n\nFor any inquiries or issues, please contact:\n- **Email**: harshilbmk@gmail.com\n- **LinkedIn**: [Harshil Chovatiya](https://www.linkedin.com/in/harshilbmk)\n\n---\n\nThank you for using the Tools App. Enjoy exploring and utilizing the various tools!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharshilchovatiya%2Ftools-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fharshilchovatiya%2Ftools-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharshilchovatiya%2Ftools-app/lists"}