A robust form ingestion and processing microservice that validates user-submitted form data, sanitizes inputs, flags anomalies, and dispatches verified webhooks.
- Dynamic: form schema validation and sanitization
- Anomaly: and fraud detection identifying spam or fraudulent submissions
- Automated: verification email and confirmation receipt generator
- Downstream: webhook dispatcher sending sanitized payloads to target systems
- Persistent: audit trail logging all submissions
flowchart TD
Submission([Form Submission]) --> Sanitizer[Input Sanitizer]
Sanitizer --> Validator[Schema Validator]
Validator --> AnomalyCheck{Anomaly / Spam?}
AnomalyCheck -->|Clean| Dispatch[Dispatch Verified Webhook]
AnomalyCheck -->|Flagged| Quarantine[Quarantine Submission]
Dispatch --> DB[(Form Audit Store)]
| Component | Technology | Purpose |
|---|---|---|
| Runtime | Python 3.12 | Core execution environment |
| API Framework | FastAPI & Uvicorn | High-performance asynchronous REST endpoints |
| Data Validation | Pydantic v2 | Strict schema validation and serialization |
| Execution Engine | Dual-Mode (Local + Cloud) | Production-ready logic with offline verification |
| Testing | Unittest & Pytest | Deterministic automated verification suite |
form-processing-automation/
├── app/
│ ├── __init__.py
│ ├── api.py # FastAPI routes and server definitions
│ ├── config.py # Environment variables and application settings
│ ├── models.py # Pydantic data schemas
│ └── services/ # Core business automation logic
├── tests/
│ ├── __init__.py
│ └── test_form_processing.py # Automated test suite
├── .env.example # Template for environment configuration
├── .gitignore # Python and runtime exclusions
├── LICENSE # MIT License
├── README.md # Comprehensive project documentation
└── requirements.txt # Python package dependencies
- Python 3.10+ (Python 3.12 recommended)
pippackage manager
-
Clone the repository:
git clone https://github.com/erhatechnologiesai/form-processing-automation.git cd form-processing-automation -
Create and activate a virtual environment:
python -m venv venv # On Windows: venv\Scripts\activate # On macOS/Linux: source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Configure environment variables:
cp .env.example .env
Start the local development server with auto-reload:
python -m uvicorn app.api:app --reload --host 0.0.0.0 --port 8000Once running, interactive documentation is accessible at:
- Swagger UI: http://127.0.0.1:8000/docs
- ReDoc: http://127.0.0.1:8000/redoc
| Method | Endpoint | Description |
|---|---|---|
POST |
/submit-form |
Ingest, validate, sanitize, and dispatch form submission |
curl -X POST http://127.0.0.1:8000/submit-form -H "Content-Type: application/json" -d '{"form_id": "contact_sales", "fields": {"name": "Alice Smith", "email": "alice@company.com", "message": "Inquiring about enterprise tier"}}'Execute the automated test suite:
python -m unittest tests/test_form_processing.pyOr using pytest:
pytest tests/All test cases are self-contained and run offline without requiring third-party API credentials.
- Zero Credential Leakage: API tokens and secrets are loaded exclusively via environment variables and excluded by
.gitignore. - Strict Validation: All incoming request payloads are strictly validated using Pydantic schemas.
- Fail-Safe Fallbacks: Deterministic offline engines guarantee application continuity even during external provider outages.
This project is licensed under the terms of the MIT License.