creativecommons / cc-resource-archive

Collection of resources on Creative Commons (CC) tools and other open topics
https://resources.creativecommons.org/
MIT License
56 stars 121 forks source link

[Feature] Create a separate form site to integrate with main site instead of google forms #113

Closed asrvd closed 1 year ago

asrvd commented 1 year ago

Problem

Following #9 the submission form is using and it's related to Google Forms being used. Moreover as I already suggested using Google Forms isn't a great idea because we don't have full control over the data.

Description/Alternative

My features suggestion is that we should create our own form component and host it on a subdomain like form.resources.creativecommmons.org and then embed that on the main jekyll site using iframes like we are doing now. The form component can be built using vanilla HTML5, CSS3 and a bit of JavaScript/TypeScript. But we would need some sort of backend for organizing and storing the data. I have an idea for that as well. We could leverage GitHub to use it as a backend. The user would fill up a normal form but using GitHub API we would create an issue for the submission and if the issue gets approved, it gets automatically added to the site using a workflow. (The idea is somewhat inspired by #109 but we won't be forcing users to have a GitHub account so it will be a much better approach in my opinion.

Implementation

asrvd commented 1 year ago

@asrvd This idea as exactly as #109 . You need to have a GitHub account to create issues and pull requests.

No the user doesn't need to have a GitHub account, we aren't implementing authentication, the issue would be automatically created from an automated bot account.

asrvd commented 1 year ago

@asrvd This idea as exactly as #109 . You need to have a GitHub account to create issues and pull requests.

No. The user doesn't need to have a GitHub account, we aren't implementing authentication, the issue would be automatically created from an automated bot account.

Please read the issue description again :)

asrvd commented 1 year ago

we shouldn't expect all the users to have a GitHub account neither we should force them to have one, the site should be usable by everyone.

Pursottam6003 commented 1 year ago

Hi @asrvd I liked your issue as it's very important to have data security for any Organisation. Since there was already has a option to submit a resource via google form but since Creative Commons has already used Jeykll my approach is to create a form but use google firebase as a backend data the user needs to sign via google/ Microsoft or Facebook account in before submitting the form.

Reasons to use

  1. Firebase Database: It allows real-time database connection, which means multiple users can see the changes in the data when the data gets created or edited.

  2. Data transmission is handled with web sockets so you don't have to send requests to get new data, you only need to subscribe once.

  3. Data is secure and reliable in future implementation Creative Commons may use Google Cloud and use other features

  4. Who wants to submit resources to creative commons directly via firebase and be able to fetch and display them on the webpage we know all visitors may always have a google account/ Microsoft account so it is accessible and efficient

    Hello Sir @possumbilities what about your opinions if yes please allow me to move forward I would be very happy to work on it

possumbilities commented 1 year ago

@Pursottam6003 (not a Sir)

I would say this would put too much of the functionality outside the project and be a bit much to maintain long term. I'm open to other's suggestion, on other issues around this, but I'm closing this as something that while inventive is probably a bit too ambitious for this project.

@asrvd thankyou for taking the time regardless! ❤️