MCPSERV.CLUB
OpnForm

OpnForm

Self-Hosted

Build beautiful forms without code

Active(100)
2.9kstars
0views
Updated 1 day ago
OpnForm screenshot

Overview

Discover what makes OpnForm powerful

OpnForm is a full‑stack, open‑source platform for building and hosting interactive forms, surveys, and event registrations. From a developer’s perspective it functions as a **form‑as‑a‑service** backend that exposes a rich API surface for creating, querying, and managing forms while providing a lightweight front‑end that can be embedded anywhere. The core technical workflow involves a REST/GraphQL API that persists form definitions and submissions in a PostgreSQL database, an optional Redis layer for caching and rate‑limiting, and a React/TypeScript SPA that renders forms on the client side. This separation of concerns makes OpnForm a compelling choice for teams that need to ship form‑centric features quickly without building a custom backend from scratch.

Backend

Frontend

Containerization

Security

Overview

OpnForm is a full‑stack, open‑source platform for building and hosting interactive forms, surveys, and event registrations. From a developer’s perspective it functions as a form‑as‑a‑service backend that exposes a rich API surface for creating, querying, and managing forms while providing a lightweight front‑end that can be embedded anywhere. The core technical workflow involves a REST/GraphQL API that persists form definitions and submissions in a PostgreSQL database, an optional Redis layer for caching and rate‑limiting, and a React/TypeScript SPA that renders forms on the client side. This separation of concerns makes OpnForm a compelling choice for teams that need to ship form‑centric features quickly without building a custom backend from scratch.

Architecture

  • Backend – The API is written in Node.js (TypeScript) using the NestJS framework. It follows a modular, service‑oriented architecture with dependency injection, making it straightforward to replace or extend individual components (e.g., switching the email provider). The data layer uses TypeORM to map entities to a PostgreSQL database, while optional Redis is used for session storage and caching. The API also exposes a WebSocket gateway for real‑time submission events.
  • Frontend – A lightweight React + Vite bundle delivers the form builder UI and embed widgets. The builder supports drag‑and‑drop field placement, conditional logic, and theme editing, all powered by a schema‑driven form renderer that serializes to JSON for persistence.
  • Containerization – The entire stack is distributed as Docker images (jhumanj/opnform-api, jhumanj/opnform-client). A Docker Compose file in the repository demonstrates a single‑node deployment, while Helm charts are planned for Kubernetes deployments.
  • Security – The application implements CSRF protection, JWT authentication for API access, and file upload sanitization. Captcha integration (reCAPTCHA) is optional but recommended for public forms.

Core Capabilities

  • Form Definition API – CRUD endpoints for form metadata, field schemas, and conditional logic. Forms are stored as JSON documents that can be versioned.
  • Submission API – Secure endpoints for posting responses, including file uploads. Submissions are stored in a relational schema that allows efficient querying and CSV export.
  • Webhook & Notification System – Developers can register HTTP webhooks, Slack/Discord messages, or email notifications that trigger on new submissions. The webhook payload includes the full submission JSON and metadata.
  • Analytics SDK – A lightweight JavaScript snippet can be embedded alongside the form to push usage metrics (view counts, conversion rates) back to the API.
  • Extensibility Hooks – The API exposes hooks for custom validation, transformation, or routing logic via middleware registration in NestJS. Plugins can also be added by mounting additional modules on the server.

Deployment & Infrastructure

OpnForm is designed for self‑hosting in a variety of environments:

  • Bare Metal / VM – A single Docker container per service (API, client) with a PostgreSQL instance. Minimal resource footprint (~256 MiB RAM per container).
  • Container Orchestration – Kubernetes manifests (Helm charts) enable horizontal scaling of the API layer, automatic rolling updates, and persistent volumes for PostgreSQL.
  • CI/CD – The repository includes GitHub Actions that build Docker images, run tests, and push to Docker Hub. Developers can integrate these pipelines into their own CI/CD workflows.
  • High Availability – By running multiple API replicas behind a load balancer and using PostgreSQL replication, the platform can sustain traffic spikes typical of event registrations or marketing campaigns.

Integration & Extensibility

OpnForm’s plugin architecture allows developers to extend the core functionality without modifying upstream code:

  • Custom Field Types – New React components can be registered via a plugin manifest; the backend accepts their schema definitions.
  • Third‑Party Auth – OAuth providers can be wired into the NestJS authentication module to allow single‑sign‑on for form creators.
  • Data Export – Beyond CSV, developers can hook into the submission stream to push data to external analytics platforms (Mixpanel, Segment) or data warehouses (Snowflake, BigQuery).
  • Webhooks – The built‑in webhook system supports both outgoing and incoming events, making it easy to integrate with CI pipelines or trigger serverless functions.

Developer Experience

  • Documentation – The official docs (docs.opnform.com) cover API reference, deployment guides, and plugin development. The codebase follows clean architecture principles, making navigation intuitive for newcomers.
  • Community – A Discord server and GitHub Discussions channel provide rapid support. The AGPLv3 license encourages contributions while protecting the open‑source nature of the project.
  • Testing – Unit and integration tests are written in Jest, with coverage reports available on PRs. The Docker Compose test suite runs end‑to‑end scenarios against the API and client.

Use Cases

  • Event Management – Create RSVP forms with file uploads (e.g., photo ID) and send Slack notifications to the event team.
  • Customer Feedback – Deploy a survey with conditional logic and export results to a CSV for analysis in BI tools.
  • Internal HR Forms – Host leave requests or expense claims with secure authentication and audit trails.
  • Marketing Campaigns – Embed lead‑generation forms on landing pages, trigger email confirmations, and track conversion rates via the analytics SDK.

Advantages

  • **Performance

Open SourceReady to get started?

Join the community and start self-hosting OpnForm today

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
other
License
AGPL-3.0
Stars
2.9k
Technical Specs
Pricing
Open Source
Docker
Official
Supported OS
LinuxDocker
Author
JhumanJ
JhumanJ
Last Updated
1 day ago