All Projects → akaamitgupta → honeypie

akaamitgupta / honeypie

Licence: other
A FaaS for converting your Google Forms into an API.

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to honeypie

FunctionScript
An API gateway and framework for turning functions into web services
Stars: ✭ 1,569 (+9129.41%)
Mutual labels:  faas
fiware-meteoroid
Meteoroid realizes integrating Function as a Service(FaaS) capabilities in FIWARE. It provides a management interface specialized for FaaS and FIWARE.
Stars: ✭ 13 (-23.53%)
Mutual labels:  faas
hex
An ecosystem delivering practices, philosophy and portability. Powered By Deno and JavaScript.
Stars: ✭ 48 (+182.35%)
Mutual labels:  faas
openwhisk-runtime-java
Apache OpenWhisk Runtime Java supports Apache OpenWhisk functions written in Java and other JVM-hosted languages
Stars: ✭ 43 (+152.94%)
Mutual labels:  faas
node8-express-template
Node.js 8 template for OpenFaaS with HTTP via Express.js
Stars: ✭ 16 (-5.88%)
Mutual labels:  faas
TSWorkflow
G Suite workflow automation highlighted in my presentation given at SheetsCon-2020 - "Automation with Apps Script"
Stars: ✭ 28 (+64.71%)
Mutual labels:  googleforms
openwhisk-package-kafka
Apache OpenWhisk package for communicating with Kafka or Message Hub
Stars: ✭ 35 (+105.88%)
Mutual labels:  faas
serverless-scaleway-functions
Plugin for Serverless Framework to allow users to deploy their serverless applications on Scaleway Functions
Stars: ✭ 58 (+241.18%)
Mutual labels:  faas
openwhisk-catalog
Curated catalog of Apache OpenWhisk packages to interface with event producers and consumers
Stars: ✭ 30 (+76.47%)
Mutual labels:  faas
serverless-fission
Use Fission through Serverless Framework https://serverless.com
Stars: ✭ 19 (+11.76%)
Mutual labels:  faas
2020
Make your own 2020 ASCII art
Stars: ✭ 26 (+52.94%)
Mutual labels:  faas
openwhisk-runtime-docker
Apache OpenWhisk SDK for building Docker "blackbox" runtimes
Stars: ✭ 23 (+35.29%)
Mutual labels:  faas
qrcode
QR Code generator function for the FaaS Platform in #golang
Stars: ✭ 17 (+0%)
Mutual labels:  faas
python-flask-template
HTTP and Flask-based OpenFaaS templates for Python 3
Stars: ✭ 76 (+347.06%)
Mutual labels:  faas
FaaSNet
FaaSNet: Scalable and Fast Provisioning of Custom Serverless Container Runtimes at Alibaba Cloud Function Compute (USENIX ATC'21)
Stars: ✭ 36 (+111.76%)
Mutual labels:  faas
vcenter-connector
Extend vCenter with OpenFaaS
Stars: ✭ 29 (+70.59%)
Mutual labels:  faas
hook.io
Open-Source Microservice Hosting Platform
Stars: ✭ 1,259 (+7305.88%)
Mutual labels:  faas
serverless
BlueNimble is a Hybrid Serverless Platform focusing on developer productivity and application portability. Create and run scalable APIs and applications without coding or by coding less. Focus on application business logic without any knowledge of the underlying microservices architecture.
Stars: ✭ 30 (+76.47%)
Mutual labels:  faas
FaaSonK8s
A list of Functions as a Service (FaaS) serverless platforms that run on Kubernetes
Stars: ✭ 44 (+158.82%)
Mutual labels:  faas
examples
MetaCall Examples - A collection of use cases and examples to be deployed in MetaCall.
Stars: ✭ 18 (+5.88%)
Mutual labels:  faas

Convert Google Forms into API.

Build Status

Google Forms are awesome - so functional and flexible!

This service is an advanced version of the article How to style Google Forms. We have been using this trick to style our google forms to fit into our site's look and feel. And now the time is to think beyond just styling your google forms.

What if we can convert our Google Form into API so that we can easily grab validation errors given by form into a JSON format.

Enough talking lets code
curl -X POST \
    https://xgb5naiofi.execute-api.ap-south-1.amazonaws.com/api/google-forms \
    -H 'Content-Type: application/json' \
    -d '{
        "url": "https://docs.google.com/forms/u/1/d/e/1FAIpQLSfM54cLPNZk4mvMWTtiRWDUi2divL2cCtGG-byj05ttig1iVQ/formResponse",
        "inputs": {
                "entry.505110784": "some text",
                "entry.1915963433": "",
                "entry.948181294": "",
                "entry.700448681": "C"
        }
}
'

{
    "errors": "The given data was invalid.",
    "validations": {
        "entry.505110784": "Must be a number",
        "entry.1915963433": "This is a required question",
        "entry.948181294": "This is a required question"
    }
}

Here we can see an example of how it works. We need to hit a POST request to our API Gateway https://xgb5naiofi.execute-api.ap-south-1.amazonaws.com/api/google-forms along with the payload.

Payload

url - The URL of our google form

inputs - contains the list of form fields as name: value

How it works?

"Web Scraping!" Yeah, you heard it right. It's just an old school web scraping.

We hit a POST request to the URL given by you of google forms and it returns the HTML in response then we parse it using very popular BeautifulSoup to fetch all the validation errors from the page. Click here to check the source code.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].