facebook-developer-circle-delhi / Ask-The-Community

This is an initiative where-in people can ask questions (directly or anonymously) as issues. People can then respond to them as comments. Once there is a satisfactory answer, we can close that issue down.
14 stars 1 forks source link

Building a Form Service #3

Closed vabhishek-me closed 6 years ago

vabhishek-me commented 6 years ago

How would you tackle the problem where a website/platform needs 10-20 new forms everyday for it's users?

One option is to use google forms, but that's a third-party service and not much customization is provided. I need something that non-professionals can easily use and build forms. Something like a GUI which let's you build form and then the form is saved as JSON and then can be called on the website..... something like that.

FYI - I searched google, SO etc. But I didn't find any convincing answer. I need help from experienced people in dev community on how to build such a service. I'm willing to start from scratch if a service like this doesn't exists. I just need ideas/workarounds.

saranshkataria commented 6 years ago

There are a lot of options available if customization is the only thing you are looking for. Surveymonkey, typeform etc. Did not get the form is saved as JSON part of it. Can you elaborate?

vabhishek-me commented 6 years ago

So the brief use case is this:

I can use Google Form or Type form but we all know there's a limitation on how much hits you can make (typeform only provides 100res/m).....

I want to build something that enterprise applications can integrate into their website...... So, this is the workaround I found:

  1. Create a GUI which lets you create forms like Google form does.
  2. When the user hits save, save the form in a json format like and give a FRN number (form resource number)
    "id": "xyz",
    ....
    "form": [
    {
    "fieldType": "text",
    "required": "false",
    .....
    }
    ]
  3. Now you can hit an api with the FRN number and a auth token to get the form json (can be converted to HTML on server or can be rendered as html on client side (a renderer library in js)).....
  4. I need to save this form in MongoDB.

Now the problem I'm having is how to do it efficiently..... any open source libs? or any workarounds?

saranshkataria commented 6 years ago

The reason typeform/Google don't support more than 100 res/m is that that would be heavy server traffic and no one would do that for free.

But if you are going to cross that limit then you need a lot of infra setup for it

vabhishek-me commented 6 years ago

Can you recommend me some tools/libs/best practices/anything which will help me build a minimal form service (no file uploads for now).....

I'll be using lambda, so traffic and costing is no problem.... (1M/0.5$)......

saranshkataria commented 6 years ago

For tools/libs/best practices : There's a ton of things that you need to look into. Can't list down all software architecture principles, good practices in an issue here since they are context specific too.

vabhishek-me commented 6 years ago

Alright..... Let's keep this issue open for a week or so..... let's see if anyone gives more insights....

parulagg27 commented 6 years ago

Hi @vabhishek-me, were you able to find answers/ anyother workaround for your query?

vabhishek-me commented 6 years ago

Not Yet :(

Let's keep this issue open...... Maybe somebody comes up with a workaround.

There should be some questions in the issue which people can come and answer.

saranshkataria commented 6 years ago

@vabhishek-me I don't think anyone is going to give you everything there is on enterprise architecture scaling and principles in a GitHub issue. You have to do the hard work for that.

vabhishek-me commented 6 years ago

Alright! Closing the issue. Thanks for the help.