Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/suxrobgm/blazor-form-builder
Blazor Form Builder is a comprehensive library for generating and managing forms within Blazor applications. It provides a simple interface for creating forms with various field types, including text, numeric, date, and dropdown fields.
https://github.com/suxrobgm/blazor-form-builder
asp-net-core blazor postgresql radzen
Last synced: 3 months ago
JSON representation
Blazor Form Builder is a comprehensive library for generating and managing forms within Blazor applications. It provides a simple interface for creating forms with various field types, including text, numeric, date, and dropdown fields.
- Host: GitHub
- URL: https://github.com/suxrobgm/blazor-form-builder
- Owner: suxrobGM
- License: mit
- Created: 2024-07-15T22:44:49.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-08-04T03:01:48.000Z (5 months ago)
- Last Synced: 2024-10-14T05:22:26.900Z (3 months ago)
- Topics: asp-net-core, blazor, postgresql, radzen
- Language: C#
- Homepage:
- Size: 43.8 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Blazor Form Builder
[![.NET Build](https://github.com/suxrobGM/blazor-form-builder/actions/workflows/deploy-pages.yml/badge.svg)](https://github.com/suxrobGM/blazor-form-builder/actions/workflows/deploy-pages.yml)Blazor Form Builder is a comprehensive library for generating and managing forms within Blazor applications.
It provides a simple interface for creating forms with various field types, including text, numeric, date, and dropdown fields.
The library includes a Blazor WebAssembly application for designing and rendering forms from a JSON schema.## Features
- **Dynamic Form Creation**: Easily create forms with text, numeric, date, and dropdown fields.
- **Form Designer**: A Blazor WebAssembly application for visually designing forms.
- **Form Renderer**: Render forms based on a JSON schema.
- **Integration**: Seamlessly integrates with a Web API for form data management.## Demo
- **Form Designer**: Try out the demo form builder [available here](https://suxrobGM.github.io/blazor-form-builder) on GitHub Pages.## Getting Started
Follow these steps to set up and run the Blazor Form Builder:
### Prerequisites
- [.NET 8.0 SDK](https://dotnet.microsoft.com/download/dotnet/8.0)
- [SQL Server](https://www.microsoft.com/en-us/sql-server/sql-server-downloads)### Setup Instructions
1. **Clone the Repository**
Clone this repository using the following command:
```sh
git clone https://github.com/suxrobGM/blazor-form-builder.git
cd blazor-form-builder
```2. **Configure the Database**
Update the connection string in the `appsettings.json` file located at `src/FormBuilder.API/appsettings.json` to match your SQL Server database configuration.
3. **Apply Database Migrations**
Apply the database migrations by running the following command script:
```sh
scripts/apply-migrations.cmd
```4. **Run the Web API Project**
Start the Web API project by running the following command script:
```sh
scripts/run-api.cmd
```5. **Run the Blazor Application**
Start the Blazor WebAssembly application by running the following command script:
```sh
scripts/run-app.cmd
```### Accessing the Applications
Once the projects are running, you can access them via the following URLs:
- **Web API**: [https://localhost:8000/swagger/index.html](https://localhost:8000/swagger/index.html)
- **Blazor WASM App**: [https://localhost:8001](https://localhost:8001)## Project Structure
- **FormBuilder**: The Razor class library containing reusable Blazor components, services, and models for form creation and rendering.
- **FormBuilder.API**: The Web API project for managing form data and LOV (List of Values) data.
- **FormBuilder.DesignerApp**: The Blazor WebAssembly project for designing and rendering forms.
- **FormBuilder.Shared**: The shared project containing common models used across the `FormBuilder` and `FormBuilder.API` projects.## Documentation
- **[API Reference](docs/api-reference.md)**: Learn how to use the Form Builder API to create, update, delete, and retrieve forms and LOV data.
- **[Integration Guide](docs/integration-guide.md)**: Integrate the Blazor Form Builder with your existing Blazor application.
- **[Form Editor Component Reference](docs/form-editor.md)**: Design forms in your Blazor application using the `FormEditor` component.
- **[Form Renderer Component Reference](docs/form-renderer.md)**: Render forms in your Blazor application using the `FormRenderer` component.## Screenshots
![Form Designer 1](./docs/img/designer-app-1.jpg?raw=true)
![Form Designer 2](./docs/img/designer-app-2.jpg?raw=true)
![Form Renderer](./docs/img/designer-app-3.jpg?raw=true)