{"id":23197686,"url":"https://github.com/behzadam/sdui","last_synced_at":"2025-10-25T14:31:13.096Z","repository":{"id":253310419,"uuid":"843104612","full_name":"behzadam/sdui","owner":"behzadam","description":"Server-Driven UI Sample With Conditionally Rendered Components","archived":false,"fork":false,"pushed_at":"2024-09-06T07:12:49.000Z","size":163,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-18T14:37:01.569Z","etag":null,"topics":["form-builder","nextjs","react","server-driv","server-side-rendering","typescript","ui-builder"],"latest_commit_sha":null,"homepage":"https://sdui-eta.vercel.app/","language":"TypeScript","has_issues":false,"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/behzadam.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-15T19:42:06.000Z","updated_at":"2024-10-14T09:26:47.000Z","dependencies_parsed_at":"2024-08-18T10:34:08.037Z","dependency_job_id":null,"html_url":"https://github.com/behzadam/sdui","commit_stats":null,"previous_names":["behzadam/sdui"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/behzadam%2Fsdui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/behzadam%2Fsdui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/behzadam%2Fsdui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/behzadam%2Fsdui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/behzadam","download_url":"https://codeload.github.com/behzadam/sdui/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238161516,"owners_count":19426669,"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":["form-builder","nextjs","react","server-driv","server-side-rendering","typescript","ui-builder"],"created_at":"2024-12-18T14:37:04.073Z","updated_at":"2025-10-25T14:31:07.765Z","avatar_url":"https://github.com/behzadam.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SDUI: Server-Driven UI with Conditional Form Builder\n\nA React \u0026 Next.js project demonstrating the implementation of Server-Driven UI with a dynamic form builder based on a JSON configuration file. [What is Server-Driven UI?](https://www.judo.app/blog/server-driven-ui) | [Watch this video (in Persian)](https://youtu.be/D7nj1oK3YwQ?si=4ZQVo_6puffjGRhz)\n\n## Features\n\n- Dynamic Form Generation: Creates forms based on a JSON definition, allowing for flexible customization and updates without recompiling the frontend.\n- Conditional Logic: Implements conditional rendering and validation rules based on user input, providing a more interactive and user-friendly experience.\n- JSON Configuration: Uses a JSON file to define form structure, fields, validation rules, and conditional logic.\n\n### JSON Configuration Sample\n\n```json\n{\n  \"label\": \"Conditional field\",\n  \"type\": \"text\",\n  \"name\": \"name\",\n  \"uid\": \"bd90f44a-d479-49ae-ad66-c2c475daa66b\",\n  \"value\": null,\n  \"logic\": {\n    \"if\": \"Any\",\n    \"conditions\": [\n      {\n        \"when\": \"f61233e8-565e-43d0-9c14-7d7f220c6020\",\n        \"is\": \"EqualTo\",\n        \"value\": \"2\"\n      },\n      {\n        \"when\": \"f61233e8-565e-43d0-9c14-7d7f220c6020\",\n        \"is\": \"EqualTo\",\n        \"value\": \"4\"\n      }\n    ]\n  }\n}\n```\n\n## Demo\n\nhttps://github.com/user-attachments/assets/9a6bae57-2aac-4d78-84c0-88c3827080f0\n\n## License\n\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbehzadam%2Fsdui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbehzadam%2Fsdui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbehzadam%2Fsdui/lists"}