Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Request to improve the 'Submit a resource' using Fireabse Database #129

Open
1 task
Pursottam6003 opened this issue Mar 29, 2023 · 9 comments
Open
1 task
Labels
💻 aspect: code Concerns the software code in the repository ✨ goal: improvement Improvement to an existing feature 🟩 priority: low Low priority and doesn't need to be rushed 🧹 status: ticket work required Needs more details before it can be worked on 💬 talk: discussion Open for discussions and feedback

Comments

@Pursottam6003
Copy link

Problem

Problem following the #113 issue but I would like to add more details. When i navigated towards the route /submit in my computer the form it's not rendering the google form and other details.

So here my approach is to create a new form and use Google Firebase as a backend service and use its features.

image

Description

Since there was already has the 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

Example design: for sign-in using firebase auth

Screenshot from 2023-03-29 20-17-57

Submit Resource Example Design

Screenshot from 2023-03-29 19-36-36

The user can add their thoughts supported by links and descriptions so i think it would really help in better development of this project

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

Alternatives

We could also convert the whole website into NodeJs and ReactJs and use MongoDB / Firebase and style using the MUi
which improves the codebase readability and its User Experience can be improved

Additional context

Implementation

  • I would be interested in implementing this feature.
@Pursottam6003 Pursottam6003 added ✨ goal: improvement Improvement to an existing feature 💻 aspect: code Concerns the software code in the repository 🚦 status: awaiting triage Has not been triaged & therefore, not ready for work 🟩 priority: low Low priority and doesn't need to be rushed labels Mar 29, 2023
@adidevs
Copy link
Contributor

adidevs commented Mar 29, 2023

Hey @Pursottam6003 ,this is a great approach for implementing the resource submission on the website. I believe the implementation of this. Here are some points you might consider or might have already considered in the implementation:

  1. The API Keys and Google account to be used have to be provided and hosted internally by Creative Commons for data safety and management. The maintainers need to work on this and reach consensus about the usage of the tech stack.

  2. One of the project outcomes for this project from the GSoC 2023 ideas page is that the " Entire site builds as static files on GH pages." and one of the contributor tasks is that "Ensure the site functions as a static and stable Jekyll site hosted on GH Pages as static files." This is the approach to be followed for building the website unless again the maintainers delve into other methods of implementation

Once again, this is a good idea for form submission and can be a good discussion here. Looking forward to inputs by the maintainers.

@Xaid-vfx
Copy link
Contributor

Xaid-vfx commented Mar 29, 2023

Hey @Pursottam6003, about converting the whole website to Node and React, React is a powerful framework and our project doesn't need all those powers. Also, it would require unnecessary amount of work for shifting the project to React. For time being, Jekyll is sufficient enough to achieve to deliverables expected out of this project.

Also, about Submission form, I would like to add that the form might require more fields of input such as Author,languages etc. Having a look at Resource template might be helpful.

If you plan to store resources in Firebase, that's a nice idea. Although, I don't see any point for a user to Sign In using google while submitting a resource.

@Pursottam6003
Copy link
Author

Hey @Pursottam6003, about converting the whole website to Node and React, React is a powerful framework and our project doesn't need all those powers. Also, it would require unnecessary amount of work for shifting the project to React. For time being, Jekyll is sufficient enough to achieve to deliverables expected out of this project.

Also, about Submission form, I would like to add that the form might require more fields of input such as Author,languages etc. Having a look at Resource template might be helpful.

If you plan to store resources in Firebase, that's a nice idea. Although, I don't see any point for a user to Sign In using google while submitting a resource.

Hii @Xaid-vfx thank you for your suggestions actually the form i have chosen is just a demo form and thank you for providing the resource templet definitely i will look into it and regarding the conversion i had just said its an alternative approach that someone can follow since we already using Jeyll so we can use Firebase Database as our backend service

Also regarding the google sign it is just a pop-up sign-in so that we would also have an account on whether the user is authenticated or not and does he/she is submitting duplicate data, if the user wants to check their previous submission, change the password,verify the email address, and JWT authentication everything is possible if we use Firebase authentication

Hope you get it you can check here

@Pursottam6003
Copy link
Author

Hey @Pursottam6003 ,this is a great approach for implementing the resource submission on the website. I believe the implementation of this. Here are some points you might consider or might have already considered in the implementation:

  1. The API Keys and Google account to be used have to be provided and hosted internally by Creative Commons for data safety and management. The maintainers need to work on this and reach consensus about the usage of the tech stack.
  2. One of the project outcomes for this project from the GSoC 2023 ideas page is that the " Entire site builds as static files on GH pages." and one of the contributor tasks is that "Ensure the site functions as a static and stable Jekyll site hosted on GH Pages as static files." This is the approach to be followed for building the website unless again the maintainers delve into other methods of implementation

Once again, this is a good idea for form submission and can be a good discussion here. Looking forward to inputs from the maintainers.

Thank you @adidevs I will definitely look into it

@possumbilities
Copy link
Contributor

I'm not sure of the need for adding this level of complexity to the project. I'm more inline with what @adidevs has said.

I'm converting this to a discussion instead for now., and others can add their thoughts here on routes related to this.

@possumbilities possumbilities added 💬 talk: discussion Open for discussions and feedback and removed 🚦 status: awaiting triage Has not been triaged & therefore, not ready for work labels Mar 31, 2023
@cc-open-source-bot cc-open-source-bot added 🏷 status: label work required Needs proper labelling before it can be worked on and removed 🏷 status: label work required Needs proper labelling before it can be worked on labels Apr 1, 2023
@JennySimen
Copy link
Contributor

I think leveraging the power of cloud services is good. Also, I do not think there will be a need to convert the whole website to another tech stack entirely. It will be much better to keep it simple to avoid complexity.

@cc-open-source-bot cc-open-source-bot added 🏷 status: label work required Needs proper labelling before it can be worked on and removed 🏷 status: label work required Needs proper labelling before it can be worked on labels Apr 4, 2023
@Shivangbhatnagar237
Copy link

I agree, it will help to let the site remain static and hosted by GH pages

@Shivangbhatnagar237
Copy link

However, we can use ajax requests to fetch data on the front-end, keeping Firebase as database which would also solve the problem, keeping the site static and also adding functionality.

@cc-open-source-bot cc-open-source-bot added 🏷 status: label work required Needs proper labelling before it can be worked on and removed 🏷 status: label work required Needs proper labelling before it can be worked on labels Apr 7, 2023
@cc-open-source-bot cc-open-source-bot added 🏷 status: label work required Needs proper labelling before it can be worked on and removed 🏷 status: label work required Needs proper labelling before it can be worked on labels Apr 15, 2023
@cc-open-source-bot cc-open-source-bot added 🏷 status: label work required Needs proper labelling before it can be worked on and removed 🏷 status: label work required Needs proper labelling before it can be worked on labels Mar 14, 2024
@cc-open-source-bot cc-open-source-bot added 🏷 status: label work required Needs proper labelling before it can be worked on and removed 🏷 status: label work required Needs proper labelling before it can be worked on labels Mar 21, 2024
@cc-open-source-bot cc-open-source-bot added 🏷 status: label work required Needs proper labelling before it can be worked on and removed 🏷 status: label work required Needs proper labelling before it can be worked on labels Mar 29, 2024
@cc-open-source-bot cc-open-source-bot added 🏷 status: label work required Needs proper labelling before it can be worked on and removed 🏷 status: label work required Needs proper labelling before it can be worked on labels Apr 5, 2024
@possumbilities possumbilities added 🧹 status: ticket work required Needs more details before it can be worked on and removed 🏷 status: label work required Needs proper labelling before it can be worked on labels Sep 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💻 aspect: code Concerns the software code in the repository ✨ goal: improvement Improvement to an existing feature 🟩 priority: low Low priority and doesn't need to be rushed 🧹 status: ticket work required Needs more details before it can be worked on 💬 talk: discussion Open for discussions and feedback
Projects
Status: Backlog
Development

No branches or pull requests

9 participants