{"id":21765729,"url":"https://github.com/mutasim77/dynamic-json-validator","last_synced_at":"2026-04-17T15:04:09.992Z","repository":{"id":244179066,"uuid":"813413828","full_name":"mutasim77/dynamic-json-validator","owner":"mutasim77","description":"⚡ Convert and validate unstructured data into dynamic JSON formats effortlessly.","archived":false,"fork":false,"pushed_at":"2024-06-15T13:48:45.000Z","size":312,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-15T03:44:50.693Z","etag":null,"topics":["gemini-api","json-api","nextjs","ts","zod"],"latest_commit_sha":null,"homepage":"https://jolly-meerkat-27b36d.netlify.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mutasim77.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-06-11T03:30:06.000Z","updated_at":"2024-06-15T14:01:47.000Z","dependencies_parsed_at":"2024-06-13T09:28:20.055Z","dependency_job_id":"c5c24d09-816c-4db7-8e8c-58e3a52a216d","html_url":"https://github.com/mutasim77/dynamic-json-validator","commit_stats":null,"previous_names":["mutasim77/dynamic-json-validator"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutasim77%2Fdynamic-json-validator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutasim77%2Fdynamic-json-validator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutasim77%2Fdynamic-json-validator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutasim77%2Fdynamic-json-validator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mutasim77","download_url":"https://codeload.github.com/mutasim77/dynamic-json-validator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244741042,"owners_count":20502188,"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":["gemini-api","json-api","nextjs","ts","zod"],"created_at":"2024-11-26T13:13:39.462Z","updated_at":"2026-04-17T15:04:09.962Z","avatar_url":"https://github.com/mutasim77.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dynamic JSON Validator ⚡\n\n🎉 Welcome to the Dynamic JSON Validator API! This project provides a robust solution for converting unstructured data into structured JSON format based on a given schema. It leverages advanced AI models to ensure accurate and efficient data transformation.\n\n## Table of Contents\n- [Introduction 📜](#introduction-)\n- [Features 🍟](#features-)\n- [Installation 🫎](#installation-)\n- [Usage 🐥](#usage-)\n- [Example 🪄](#example-)\n- [Technologies Used 🦄](#technologies-used-)\n- [Contributing](#contributing-)\n- [License](#license-)\n- [Contact](#contact-)\n\n## Introduction 📜\nThe Dynamic JSON Validator helps you convert unstructured data into a predefined JSON format, validating it dynamically. With retry mechanisms and schema validation, it's robust and reliable.\n\n## Features 🍟\n- **🛠️ Flexible Data Conversion** Converts various data types into JSON.\n- **🔄 Retry Mechanism:** Retries the conversion process in case of errors.\n- **📜 Schema Validation:** Ensures the output matches the provided schema.\n- **🚀 Fast and Efficient:** Leverages advanced AI models for quick data processing.\n\n## Installation 🫎\nTo set up the project locally, follow these steps:\n1. Clone the repository:\n```bash\ngit clone https://github.com/mutasim77/json-data-converter-api.git\ncd json-data-converter-api\n```\n\n2. Install dependencies:\n```bash\npnpm install\n```\n\n3. Set up the environment variables:\n- Create a `.env` file in the root of your project.\n- Add the following environment variable to the `.env` file:\n```\nGEMINI_API_KEY=your-gemini-api-key\n```\n\u003e Replace *your-gemini-api-key* with your actual Gemini API key.\n\n4. Run the development server:\n```bash\npnpm run dev\n```\n\n## Usage 🐥\nSend a `POST` request with your data and schema to the `/validate` endpoint.\n\nRequest Body: \n- **data:** The unstructured data to be converted.\n- **format:** The JSON schema defining the expected output format.\n\n#### Example:\n```js\n{\n  \"data\": \"Mutasim is 404 enthusiast who loves coding and building things from scratch.\",\n  \"format\": {\n    \"name\": { \"type\": \"string\" },\n    \"occupation\": { \"type\": \"string\" },\n    \"isEnthusiast\": { \"type\": \"boolean\" },\n    \"hobbies\": {\n      \"type\": \"array\",\n      \"items\": { \"type\": \"string\" }\n    }\n  }\n}\n```\n#### Response\n```js\n{\n  name: \"Mutasim\",\n  occupation: \"404 enthusiast\",\n  isEnthusiast: true,\n  hobbies: [\n     \"coding\",\n     \"building things from scratch\"\n  ]\n}\n```\n\n## Example 🪄\nHere's how you can use `curl` to make a POST request to the API:\n```js\ncurl -X POST \\\n  http://localhost:3000/validate \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n    \"data\": \"John Doe is a 30-year-old software engineer who loves to build innovative applications.\",\n    \"format\": {\n      \"name\": { \"type\": \"string\" },\n      \"age\": { \"type\": \"number\" },\n      \"profession\": { \"type\": \"string\" },\n      \"hobbies\": {\n        \"type\": \"array\",\n        \"items\": { \"type\": \"string\" }\n      }\n    }\n  }'\n```\n\n#### Response:\n```js\n{\n  name: \"John Doe\",\n  age: 30,\n  profession: \"software engineer\",\n  hobbies: [\n     \"building innovative applications\"\n  ]\n}\n```\n\n## Technologies Used 🦄\n- **Next.js:** For server-side rendering and API routes.\n- **TypeScript:** To add static type definitions.\n- **Zod:** For schema validation.\n- **Gemini AI:** For data conversion and processing.\n\n## Contributing 🐛\nContributions are Welcome! Please follow these steps to contribute:\n\n1. Fork the repository.\n2. Create a new branch (`git checkout -b feature/your-feature-name`).\n3. Make your changes and commit them (`git commit -m 'Add some feature'`).\n4. Push to the branch (`git push origin feature/your-feature-name`).\n5. Open a Pull Request.\n\n## License 💳\nThis project is licensed under the MIT License. See the [LICENSE](/LICENSE) file for details.\n\n## Contact 🩶\nFor any questions or suggestions, feel free to open an issue or just [contact me](https://www.mutasim.top/contact)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmutasim77%2Fdynamic-json-validator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmutasim77%2Fdynamic-json-validator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmutasim77%2Fdynamic-json-validator/lists"}