MCPSERV.CLUB
Input

Input

Self-Hosted

Self-hosted, no-code form builder for brandable surveys

Stale(55)
242stars
0views
Updated Feb 6, 2025

Overview

Discover what makes Input powerful

Input is a self‑hosted, no‑code platform for building lightweight, brandable forms and polls. From a developer’s standpoint it is essentially a full‑stack PHP application that exposes RESTful endpoints for form definition, submission handling, and analytics. The core idea is to let teams ship forms without relying on third‑party SaaS, while still offering a polished UI and easy theming.

Backend

Frontend

Database

APIs

Overview

Input is a self‑hosted, no‑code platform for building lightweight, brandable forms and polls. From a developer’s standpoint it is essentially a full‑stack PHP application that exposes RESTful endpoints for form definition, submission handling, and analytics. The core idea is to let teams ship forms without relying on third‑party SaaS, while still offering a polished UI and easy theming.

Technical Stack & Architecture

  • Backend: Laravel 9 (PHP 8.1) is the primary framework. The project uses Laravel Sail for local Docker‑based development, which bundles a full LAMP stack (nginx, MySQL, Redis) inside containers.
  • Frontend: The UI is built with Blade templates enhanced by Alpine.js for interactivity, while Laravel Mix (Webpack) compiles assets. Developers can extend the UI by adding Vue/React components if desired, thanks to the modular asset pipeline.
  • Database: MySQL (or MariaDB) is used for persisting form schemas, submissions, and analytics. Redis powers session storage and queue workers (for email notifications or background analytics).
  • APIs: Input exposes a JSON API under /api/forms and /api/submissions. The routes are protected via Laravel Sanctum, allowing OAuth‑style token authentication for external integrations. Webhooks can be configured per form to push submission data to downstream services.

Core Capabilities for Developers

  • Form Schema Management: CRUD endpoints let you programmatically create, update, and delete form definitions. The schema is stored as JSON in a forms table, enabling dynamic rendering on the client side.
  • Submission Handling: Submissions are validated against the stored schema and persisted in a submissions table. Developers can hook into submission events via Laravel’s event system or use webhooks to push data elsewhere.
  • Analytics & Export: A lightweight reporting layer aggregates submission counts, field distributions, and response times. Data can be exported as CSV/JSON for further analysis.
  • Theming & Branding: CSS variables are exposed in the admin UI, allowing programmatic theme changes. You can also inject custom CSS/JS via a settings table or environment variables.

Deployment & Infrastructure

Input is container‑first. A single docker-compose.yml (provided by Sail) spins up all required services, and a Docker volume (input-data) persists database files. For production, the repository recommends copying .env.example, generating an APP_KEY, and running:

docker compose up -d

Scaling is straightforward: the app is stateless except for session storage, so you can run multiple container replicas behind a load balancer. Redis and MySQL can be swapped for managed services if desired.

Integration & Extensibility

  • Plugin System: While not yet fully fleshed out, the codebase contains a plugins directory where developers can drop PHP classes that hook into events.
  • Webhooks & API: Every form can register multiple webhook URLs that receive POST requests on submission.
  • Custom Actions: By leveraging Laravel’s service container, you can inject custom validation logic or post‑processing steps into the submission pipeline.
  • CLI Tools: Sail provides Artisan commands (sail artisan migrate, sail test) that can be scripted in CI/CD pipelines.

Developer Experience

The project follows Laravel conventions, so familiar routing, Eloquent models, and Blade syntax make onboarding quick. Documentation is minimal but pragmatic; the README covers environment setup, task automation via mise, and production deployment steps. Community support is limited (early stage), but the open‑source license encourages contribution, and the maintainers are responsive via email.

Use Cases

  • Enterprise In‑House Surveys: Companies that need GDPR‑compliant, on‑premise survey tools can host Input behind their firewall.
  • Event Registration: Event organizers can create custom registration forms with branded themes and export attendee lists.
  • Internal Feedback Loops: Teams can build quick polls for retrospectives or sprint planning without external services.
  • Educational Platforms: Schools can host quizzes and collect responses locally, ensuring student data stays within the institution.

Advantages Over Alternatives

FeatureInputTypeForm / Google Forms
Self‑hosting
Branding controlFull CSS/JS injectionLimited
Open‑source license✔️❌ (proprietary)
ExtensibilityEvent hooks, webhooks, pluginsLimited API
PerformanceLaravel + MySQL; can scale horizontallyCloud‑based, shared resources
ComplianceOn‑prem GDPR controlThird‑party hosting

Developers who prioritize data sovereignty, custom integration points, and low operational overhead will find Input a compelling alternative to commercial form builders. Its Laravel foundation ensures rapid feature development, while Docker simplifies deployment across environments.

Open SourceReady to get started?

Join the community and start self-hosting Input 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
242
Technical Specs
Pricing
Open Source
Database
PostgreSQL
Docker
Official
Supported OS
LinuxDocker
Author
deck9
deck9
Last Updated
Feb 6, 2025