An open API service indexing awesome lists of open source software.

https://github.com/namanrox/json-schema-builder

JSON Schema Builder Frontend
https://github.com/namanrox/json-schema-builder

antd react-hooks-form reactjs vite

Last synced: 8 months ago
JSON representation

JSON Schema Builder Frontend

Awesome Lists containing this project

README

          

# JSON Schema Builder

A dynamic React-based web application that allows users to visually create and preview JSON schemas through an intuitive form interface. Built with TypeScript and Ant Design, this tool enables the creation of deeply nested schemas with instant form previews and schema outputs.

## ๐Ÿš€ Features

* โœ… Add/edit/remove fields dynamically
* ๐Ÿ” Support for nested fields (recursive structure)
* ๐Ÿ“ฆ Real-time JSON schema preview
* ๐Ÿงช Sample form auto-generated based on the current schema
* ๐Ÿงผ Form submission and reset functionality
* โš›๏ธ Built with React + TypeScript + React Hook Form
* ๐ŸŽจ UI components powered by Ant Design

## ๐Ÿ“ธ Demo

Experience the live demo of the application on Vercel: [JSON Schema Builder](https://json-schema-builder-s54m.vercel.app/)

image

* On clicking the ``Submit`` button:

image

---

## ๐Ÿงฐ Tech Stack

* **React** (with TypeScript)
* **React Hook Form** โ€“ for managing form state
* **Ant Design** โ€“ for sleek UI components
* **Vite** (assumed build tool)

---

## ๐Ÿง‘โ€๐Ÿ’ป Getting Started

### Prerequisites

* Node.js โ‰ฅ 14
* npm or yarn

### Installation

```bash
# Clone the repo
git clone https://github.com/namanrox/json-schema-builder.git
cd json-schema-builder

# Install dependencies
npm install

# Start development server
npm run dev
```

Visit `http://localhost:5173` to open the app.

---

## ๐Ÿ“ค Usage

1. Click `+ Add Field` to add a new field.
2. Enter the **field name** and select its **type** (`string`, `number`, or `nested`).
3. For nested types, you can further add inner fields.
4. Fill out the preview form and click `Submit` to view formatted form data.
5. You can also reset the sample input fields by clicking on the ``Reset`` button.
6. View the generated JSON schema on the right panel.