Skip to content

GSOC 2025 : Automated Badge Issuance System For Tour #872

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

Open
AQIB-NAWAB opened this issue Jan 31, 2025 · 92 comments
Open

GSOC 2025 : Automated Badge Issuance System For Tour #872

AQIB-NAWAB opened this issue Jan 31, 2025 · 92 comments
Labels
gsoc Google Summer of Code Project Idea

Comments

@AQIB-NAWAB
Copy link
Contributor

AQIB-NAWAB commented Jan 31, 2025

Project Title

Simple Automated Badge Issuance System

Brief Description

This project aims to create a lightweight and easy-to-maintain system that automatically issues digital badges to users who complete the JSON Schema Tour. The system is using Google Sheets for data collection and the expected solution has been described on this issue: json-schema-org/tour#118

The focus is on simplicity, reliability, and minimal maintenance, ensuring the process scales without manual intervention.

Expected Outcomes

  1. A working script that automates badge issuance for users who complete the JSON Schema Tour.
  2. Integration with Google Sheets to read user data and mark badges as issued.
  3. Integration with Badgr.
  4. Usage of Cloudflare workers or exploring a better alternative.
  5. Basic error handling and logging to ensure reliability.
  6. Clear and concise documentation for setup and usage.
  7. An open-source GitHub repository for the community to use and adapt.

Please see json-schema-org/tour#118 for more details.

Skills Required

  • Basic programming skills in Python or JavaScript (Node.js).
  • Familiarity with REST APIs (Google Sheets API and shield ).
  • Ability to write simple scripts for automation.
  • Basic understanding of error handling and logging.
  • Clear documentation writing skills.

Mentors

@mwadams

Expected Difficulty

Medium
The project involves integrating APIs and writing a script, making it accessible for contributors with some programming experience. It’s not overly complex but requires attention to detail and problem-solving.

Expected Time Commitment

90 hours
This project is scoped to fit within the 175-hour timeframe, making it achievable for a single GSoC contributor. The timeline includes learning, development, testing, and documentation.

@AQIB-NAWAB AQIB-NAWAB changed the title GSOC Idead : Automated Badge Issuance System Tour GSOC Idea : Automated Badge Issuance System Tour Jan 31, 2025
@AQIB-NAWAB AQIB-NAWAB changed the title GSOC Idea : Automated Badge Issuance System Tour GSOC Idea : Automated Badge Issuance System For Tour Jan 31, 2025
@AQIB-NAWAB AQIB-NAWAB changed the title GSOC Idea : Automated Badge Issuance System For Tour GSOC 2025 : Automated Badge Issuance System For Tour Feb 1, 2025
@benjagm benjagm added the gsoc Google Summer of Code Project Idea label Feb 4, 2025
@kumbhar-sarthak
Copy link

kumbhar-sarthak commented Feb 10, 2025

Hello @AQIB-NAWAB and @benjagm !

I'm very excited to work on this project idea. I have experience working with JavaScript and Python, including writing scripts and APIs. However, I am new to the JSON Schema community. To contribute, I am following the JSON Schema contribution guidelines.

I’m excited for the opportunity to work on this project.. Could you provide guidance or resources to help me prepare for this project?

@VivekJaiswal18
Copy link

@AQIB-NAWAB Are there any qualification tasks/selection criteria to complete in order to be selected for this task in GSOC.

@benjagm
Copy link
Collaborator

benjagm commented Feb 17, 2025

Hi everyone. We well add qualification tasks as soon as Google announces the mentoring organizations.

@AQIB-NAWAB
Copy link
Contributor Author

@AQIB-NAWAB Are there any qualification tasks/selection criteria to complete in order to be selected for this task in GSOC.

Hi @VivekJaiswal18 , I'm also contributor here. You can learn things mentioned in Skill Required section but everything finalize from team

@Sakshamgupta90
Copy link

Hi @benjagm, I would like to work on this issue. Just have some doubts:

  1. Is there any prerequisites or some linked issues with this?
  2. Would like to know more how data is to collected and linked the same with the google sheets.
    Thanks :)

@Ritesh2351235
Copy link

Hey @benjagm ,
I would like to work on this issue.
Having taken the JSON Schema tour myself and being familiar with the repository, I believe I can contribute effectively.
Looking forward to the qualification tasks!!

@benjagm
Copy link
Collaborator

benjagm commented Feb 28, 2025

Hi everyone. @AQIB-NAWAB We will be adding slight changes on the requirements of this idea. Probably we will suggest a different badging systems and some other small changes, but the core of idea is the same. Automate the badge issuance.

@AQIB-NAWAB
Copy link
Contributor Author

Hi @benjagm , thanks for the update! Looking forward to contributing to this and making an impact in open-source contributions.

@kumbhar-sarthak
Copy link

What about qualification tasks, when it added ??

@Yashwanth1906
Copy link

Hi everyone and @benjagm,

This seems like a great GSoC project idea! Automating the badge issuance process will streamline recognition and reduce manual effort.

The approach looks solid, and I have experience working with JSON Schema (having contributed to two issues). Additionally, I have knowledge of working with Google Sheets APIs.

I would love to contribute further to this project for GSoC 2025! 🙂

@pavanydg
Copy link

pavanydg commented Mar 3, 2025

Hello @benjagm @mwadams
I am interested in this idea and would like to write a proposal for gsoc.
I have been contributing to the tour repository actively and have 4 merged prs.
Can we also try to implement automatic certificate issuing in this project itself for tour?

@benjagm
Copy link
Collaborator

benjagm commented Mar 3, 2025

Hi everyone! First of all huge thanks @AQIB-NAWAB for submitting the idea!!!!
This has been in our todo for a very long time. Having said that, you will need to submit your application like the rest of the applicants, as submitting GSoC ideas doesn't give anyone any benefit as a mentor or mentee.

What is next:

  • The mentor @mwadams will work on the qualification task and will provide more details soon.
  • I will modify the body of the ideas as we are unlikely to use shields as the badging solution.
  • Everyone can focus on completing the qualification tasks and preparing their applications.

@jagpreetrahi
Copy link

Hey @mwadams , I hope you doing well, I'd like to work on this great idea , I have been contributing with JSON schema for several month, have worked on couple of issue. I would like to start contributing. Is there an existing codebase I should explore, or should I begin by drafting an initial implementation? Looking forward to get insights by @mwadams and for learning and contributing this idea

@JeelRajodiya
Copy link
Member

Hi everyone! with the main idea we can also consider these suggestions from the issue json-schema-org/tour#120

  1. Integrate with LinkedIn:
    Provide users with the option to add the certificate directly to their LinkedIn profiles. This would greatly enhance the value and visibility of the achievement.

  2. Integrate with GitHub:
    For authentication and certificate delivery, consider using GitHub profiles. This approach could streamline the process, as GitHub authentication is already widely used by developers.

@AQIB-NAWAB
Copy link
Contributor Author

Hi everyone! with the main idea we can also consider these suggestions from the issue json-schema-org/tour#120

1. Integrate with LinkedIn:
   Provide users with the option to add the certificate directly to their LinkedIn profiles. This would greatly enhance the value and visibility of the achievement.

2. Integrate with GitHub:
   For authentication and certificate delivery, consider using GitHub profiles. This approach could streamline the process, as GitHub authentication is already widely used by developers.

Love the LinkedIn idea! That’d be super valuable.

@mwadams
Copy link

mwadams commented Mar 6, 2025

Hi everyone. Here's a suggestion for what I'd like to see for your qualifying project:

  1. Choose your tooling and write a small document to explain why you have chosen your toolchain; what are your main considerations (e.g. trade-offs between maintainability, robustness, ease-of-use)
  2. Implement a simple tool to read from a google doc, send a payload to a test endpoint, and update the doc. Write a document to explain how your example works, and what its trade-offs are for configuration, scale, robustness. Consider how it does/could handle error conditions if your request fails part way through the process. Refer to Automate issuing of badges for completion of tour tour#118 for ideas.
  3. Push your solution to a github repository. Write a README file that explains how to pull down the code, build, configure, and run it, along with some expected output. Don't make any assumptions about software I may have pre-installed on my machine. Extra points if you can tell me how to get it to build on both Windows and Linux.

@aryandhandhukiya
Copy link

aryandhandhukiya commented Mar 7, 2025

Hi, I’m interested in contributing to this project as part of GSoC 2025!

I’ve gone through the project description and have a few questions to better understand the implementation details:

User Completion Tracking: How does the JSON Schema Tour currently track user progress? Is there an existing system (e.g., API, database, or logs) that records when a user completes the tour?
Google Sheets Integration: Will there be a predefined Google Sheet format for tracking badge issuance, or should we design the structure?
Badge Generation: Should the system generate dynamic Shields.io badges per user, or will there be a fixed set of badge types?

I’d love to start exploring and drafting a basic implementation plan based on your insights. Looking forward to your guidance!

@Yashwanth1906
Copy link

Hi @mwadams ,

I have a few questions regarding the qualifying project:

  1. For implementing a tool to read from a Google Doc, should I extract the entire content and send it as a payload? Also, what updates need to be made to the Google Doc after processing?

  2. Should the Google Doc follow a specific format to indicate the badge status of each candidate?

@AQIB-NAWAB
Copy link
Contributor Author

AQIB-NAWAB commented Mar 7, 2025

Hi @mwadams ,

I have a few questions regarding the qualifying project:

1. For implementing a tool to read from a Google Doc, should I extract the entire content and send it as a payload? Also, what updates need to be made to the Google Doc after processing?

2. Should the Google Doc follow a specific format to indicate the badge status of each candidate?

Hi @Yashwanth1906 , currently the document is saving these attributes for a user when he completed the tour

  • Name -> String
  • email -> String
  • certificateReq -> Boolean

@AQIB-NAWAB
Copy link
Contributor Author

Hi, I’m interested in contributing to this project as part of GSoC 2025!

I’ve gone through the project description and have a few questions to better understand the implementation details:

User Completion Tracking: How does the JSON Schema Tour currently track user progress? Is there an existing system (e.g., API, database, or logs) that records when a user completes the tour? Google Sheets Integration: Will there be a predefined Google Sheet format for tracking badge issuance, or should we design the structure? Badge Generation: Should the system generate dynamic Shields.io badges per user, or will there be a fixed set of badge types?

I’d love to start exploring and drafting a basic implementation plan based on your insights. Looking forward to your guidance!

For user progress tracking we are using local Storage and whenever user made a request to access the certificate a validation function checks the progress. If user cover all the section , certificate request will be created by saving user data into google sheets.

@AQIB-NAWAB
Copy link
Contributor Author

Hi @mwadams , I have a question can we use Docker cron Jobs instead of cloudfare workers ?

Thanks

@pavanydg
Copy link

pavanydg commented Mar 7, 2025

Hello @mwadams, what does tooling mean in the first point of the task? Is it the tool we are building? or is it the techstack I am going to use?

Thanks

@jagpreetrahi
Copy link

Hey @mwadams , I hope you doing well , for test endpoint , can we use mock api service like webhook.site , mock.io or use localhost

@generatorg0
Copy link

generatorg0 commented Mar 7, 2025

For user progress tracking we are using local Storage and whenever user made a request to access the certificate a validation function checks the progress. If user cover all the section , certificate request will be created by saving user data into google sheets.

can you send the file implementing this function?
edit : nvm got it

@mwadams
Copy link

mwadams commented Mar 7, 2025

Re: tooling/tech stack you can choose anything sensible but explain why you are choosing it and what the cost, maintenance and support issues might be.

@Yashwanth1906
Copy link

@AQIB-NAWAB Can u pls give a high level design of what the project is about, Will the badge request is written to the google sheet by the present next.js server whenever a user requests or is it wrong? I need this clarification because the read and write quota for the google sheet api is so low.

Image

Writing the request to the google sheet when the user requests for the badge, If that is the case then i have a approach😀.

@Yashwanth1906
Copy link

@mwadams sir I need some clarification about the project. The ultimate aim of the project is to issue the badges to the users. Then can we go for something like a cron job that process the request from the next.js frontend and the cron job will process the request. What is the use of google sheet or doc in here sir? 😀

@AQIB-NAWAB
Copy link
Contributor Author

@AQIB-NAWAB Can u pls give a high level design of what the project is about, Will the badge request is written to the google sheet by the present next.js server whenever a user requests or is it wrong? I need this clarification because the read and write quota for the google sheet api is so low.

Image

Writing the request to the google sheet when the user requests for the badge, If that is the case then i have a approach😀.

Hi @Yashwanth1906 , Each approach have there pros and cons.Please consider each factors.

@pavanydg
Copy link

@mwadams sir I need some clarification about the project. The ultimate aim of the project is to issue the badges to the users. Then can we go for something like a cron job that process the request from the next.js frontend and the cron job will process the request. What is the use of google sheet or doc in here sir? 😀

We are not having any databases to store the people who have completed the tour. So that's why we are storing it in the google sheets.

@Paniv45
Copy link

Paniv45 commented Mar 11, 2025

Hello @AQIB-NAWAB , @benjagm

I hope you're doing well. My name is Paniv Kapoor, and I'm interested in contributing to the Simple Automated Badge Issuance System project for GSoC. I have experience with JavaScript, Node.js, and working with APIs, and I'm excited about the opportunity to work on automation and system integration.

I wanted to ask if there are any qualification tasks assigned for this project that I should complete before applying? Additionally, is there any specific area you would recommend I start exploring to prepare myself better?

Looking forward to your guidance.

Best regards,
Paniv Kapoor

@Yashwanth1906
Copy link

Yashwanth1906 commented Mar 11, 2025

Hello everyone,

A approach easily scalable:

when the user finishes the tour they request for the certificate the certificate request will be sent to the next.js server which currently holds only the frontend logic and no backend logic which can be implemented where the frontend is already running and then that next.js backend will use google docs api in the free tire which is allowed to write 600 requests per minute and then 3000 read request per minute.

Image

The backend server then write the username, email, and then the isCertificate issued to be false, timestamp of certificate issued to be null. And then a cron job is ran to check the google doc for periodically according to the users flow of requesting the certificate we can manually change it and then that cron job will fetch the entire google doc in one read access command and then the the isCertificateIssued status is no then send the request to the badger along with the username and the email and then send an email with the badge.

In this what is the problem comes is the google doc write access is 600 per minute which can be issue when lot of users apply for the badge at same time. For this we can put in the request in the queue and then the cron job server can process the queue and then writes the request in the google docs. By this way we can make the thing so scalable .

Requirements : Redis Queue, A Cron job server (Express.js).

I would suggest using google doc over google sheet because of the low write quota limit.

@mwadams @AQIB-NAWAB Looking for your comments on this.

@Prasanth-S7
Copy link

Prasanth-S7 commented Mar 11, 2025

@Yashwanth1906

that cron job will fetch the entire google doc in one read access command

Doesn't that sound inefficient? Let's say you have 2 million rows in the Google Sheet. Every time the cron job runs, it has to fetch all 2 million records again.

Additionally, if the cron job reads the entire sheet each time, that means 2 million read operations per run, which would quickly exceed the 3,000 reads per minute limit. Even with batching, this could be challenging to manage

@Yashwanth1906
Copy link

@Yashwanth1906

that cron job will fetch the entire google doc in one read access command

Doesn't that sound inefficient? Let's say you have 2 million rows in the Google Sheet. Every time the cron job runs, it has to fetch all 2 million records again.

Additionally, if the cron job reads the entire sheet each time, that means 2 million read operations per run, which would quickly exceed the 3,000 reads per minute limit. Even with batching, this could be challenging to manage

We can use two google doc files one is for issuing the badges and another one is to store the issued badge. @mwadams Looking for your views on this..😀

@sushant4452
Copy link

Hi all,
This projects interests me and I would be happy to contribute here.
I also posses the required skills for this project.
Could someone help me, how should I proceed and what should be my next step.

@Honyii
Copy link
Contributor

Honyii commented Mar 12, 2025

@Paniv45 @sushant4452 i'm glad you're interested in this project. The next step is to complete the qualification task as stated here.
If you have any questions, don't hesitate to drop it here / #gsoc channel.

@AQIB-NAWAB
Copy link
Contributor Author

@Yashwanth1906

that cron job will fetch the entire google doc in one read access command

Doesn't that sound inefficient? Let's say you have 2 million rows in the Google Sheet. Every time the cron job runs, it has to fetch all 2 million records again.

Additionally, if the cron job reads the entire sheet each time, that means 2 million read operations per run, which would quickly exceed the 3,000 reads per minute limit. Even with batching, this could be challenging to manage

Hi @Prasanth-S7 , we can remove records after we assign the certificate.

A cron job will run and assign badges to users , if request goes successfully it will remove the row else it stay there

But there are certain limits how much data matters to us.

There are lot of appraoch to solve this problem with different expects. Each approach is good question for proposal.

Thanks

@Prasanth-S7
Copy link

Hi @AQIB-NAWAB Let's think of this scenario, lets say if someone have completed the tour and received the badge a month before. What if the same user request for the badge one more time(ideally he/she won't do it) but incase if it happens, how do we solve it

@AQIB-NAWAB
Copy link
Contributor Author

Hi @AQIB-NAWAB Let's think of this scenario, lets say if someone have completed the tour and received the badge a month before. What if the same user request for the badge one more time(ideally he/she won't do it) but incase if it happens, how do we solve it

Yup that's valid point. There are two approaches we can use here

  • Using two spreadsheets
  • Instead of removing the whole row we can use additional attribute of isCertificateAssigned, which can be used according to examples.

Each approach have there pros and cons like handling duplicate request , scalability and performance.

@Prasanth-S7
Copy link

@AQIB-NAWAB Can we switch to a DB instead of relying on google sheets

@AQIB-NAWAB
Copy link
Contributor Author

AQIB-NAWAB commented Mar 12, 2025

@AQIB-NAWAB Can we switch to a DB instead of relying on google sheets

I'm not sure about this.

@mwadams can we use DB in our current tour system ??

@Paniv45
Copy link

Paniv45 commented Mar 12, 2025

Hii @AQIB-NAWAB ,
Since the project aims for minimal maintenance and scalability, are there any specific logging or monitoring tools you recommend integrating to track errors, API failures, or badge issuance stats efficiently?

@AQIB-NAWAB
Copy link
Contributor Author

Hii @AQIB-NAWAB , Since the project aims for minimal maintenance and scalability, are there any specific logging or monitoring tools you recommend integrating to track errors, API failures, or badge issuance stats efficiently?

I've mostly used Morgan for log monitoring and error tracking.

@Paniv45
Copy link

Paniv45 commented Mar 13, 2025

@mwadams , @AQIB-NAWAB
Can you please provide a detailed explanation of how the system will verify that a user has successfully completed the JSON Schema Tour before issuing a badge? Additionally, what are the key edge cases or failure scenarios the system should handle to ensure reliability?"

@AQIB-NAWAB
Copy link
Contributor Author

@mwadams , @AQIB-NAWAB Can you please provide a detailed explanation of how the system will verify that a user has successfully completed the JSON Schema Tour before issuing a badge? Additionally, what are the key edge cases or failure scenarios the system should handle to ensure reliability?"

Hi @Paniv45,

We are using local storage to track user actions, such as submissions. Before processing a certificate request, we first verify that the user has completed the tour. To do this, we retrieve all submissions from local storage and evaluate them accordingly.

@Paniv45
Copy link

Paniv45 commented Mar 13, 2025

@mwadams , @AQIB-NAWAB Can you please provide a detailed explanation of how the system will verify that a user has successfully completed the JSON Schema Tour before issuing a badge? Additionally, what are the key edge cases or failure scenarios the system should handle to ensure reliability?"

Hi @Paniv45,

We are using local storage to track user actions, such as submissions. Before processing a certificate request, we first verify that the user has completed the tour. To do this, we retrieve all submissions from local storage and evaluate them accordingly.

@AQIB-NAWAB ,
Okay so in our database we will be storing something unique like email id or username of the user with a boolean variable flag isGenerated, which will take care that a user can only generate the certificate only once with a particular id.
Am I on a right track to solve the problem??

@AQIB-NAWAB
Copy link
Contributor Author

the

@mwadams , @AQIB-NAWAB Can you please provide a detailed explanation of how the system will verify that a user has successfully completed the JSON Schema Tour before issuing a badge? Additionally, what are the key edge cases or failure scenarios the system should handle to ensure reliability?"

Hi @Paniv45,
We are using local storage to track user actions, such as submissions. Before processing a certificate request, we first verify that the user has completed the tour. To do this, we retrieve all submissions from local storage and evaluate them accordingly.

@AQIB-NAWAB , Okay so in our database we will be storing something unique like email id or username of the user with a boolean variable flag isGenerated, which will take care that a user can only generate the certificate only once with a particular id. Am I on a right track to solve the problem??

yes you are on right track but mentioning one thing we are using google sheets instead of database.

@benjagm
Copy link
Collaborator

benjagm commented Mar 13, 2025

Hi everyone. I just wanted to clarify that @AQIB-NAWAB is not a mentor here. He is just another contributor interested in this idea. This idea is something we need and he published as part of our call for ideas, but that doesn't give him any privilege over others.

Your mentor here is @mwadams and the project maintainers are @JeelRajodiya and @benjagm .

Just wanted to make this clear to make sure there are no misunderstandings.

@mwadams
Copy link

mwadams commented Mar 13, 2025

Thanks @benjagm

@benjagm
Copy link
Collaborator

benjagm commented Mar 13, 2025

@AQIB-NAWAB I know that you have the best intentions when replying to other potential applicants but please, please kindly don't reply to other applicants in a way that they can have the false perception of you as a mentor. Only @mwadams, @JeelRajodiya, Bence Eros, and myself have the details of the current solution and what we expect from this idea.

Thanks a lot.

@mwadams
Copy link

mwadams commented Mar 13, 2025

It's also worth saying that the project scope is outlined and the qualification task requirements are up and it is well worth reading those carefully.

I have had a fair few DM questions that are essentially "can you give me the answer to the questions you've asked in the qualification task" (in various different forms)

At this stage, I'm happy to respond to public questions in Slack, where everyone benefits, but not DMs.

@mwadams
Copy link

mwadams commented Mar 13, 2025

(And I'm leaving most of these questions unanswered precisely because they are exactly the kind of thing I want to see people discuss in their qualification task and explain what their answers might be, having referred to the scope and guidelines. As I say in the qualification task guidelines, if you think it is necessary to change a technology, explain why and what the costs and benefits might be.)

@AQIB-NAWAB
Copy link
Contributor Author

AQIB-NAWAB commented Mar 14, 2025

@AQIB-NAWAB I know that you have the best intentions when replying to other potential applicants but please, please kindly don't reply to other applicants in a way that they can have the false perception of you as a mentor. Only @mwadams, @JeelRajodiya, Bence Eros, and myself have the details of the current solution and what we expect from this idea.

Thanks a lot.

Hi @benjagm,

I sincerely apologize 😔 if my responses gave the impression of me acting as a mentor. That was never my intention. My goal has always been to help the community by responding to queries, especially when contributors directly tag me. I truly appreciate the clarification, and I’ll be careful next time .

Thanks for your guidance!

@benjagm
Copy link
Collaborator

benjagm commented Mar 17, 2025

Hi everyone! Quick update on the Idea Time Commitment: We are reducing the time from 175 hours to 90 hours as we think this will be enough time to implement this new capability.

Thanks!!

CC: @mwadams

@KaSaNaa
Copy link

KaSaNaa commented Mar 24, 2025

Hi,

  • I'm a Junior Full Stack Developer currently working in building network monitoring and management related applications. - JSON to us is like water to a tree. That's all I have to say.
  • I'm someone with knack to build highly ordered, modular, and scalabie solutions to optimize efficiency as well as the engineering behind it.
  • I'm currently an part-time undergrad in Computer Science and Full-time Software Engineer in a company. Python, JS/TS, Java and C are the langs I am interested in.
  • I would like to contribute to this project. Please guide me and count me in!
  • I would like to have a detailed scope or end-user features you expect in this.

The Mandatory Qualification Task will be committed in https://github.com/KaSaNaa/JSON-Schedma-Badge-Issuance

Here is my rough plan to complete this task.

Task Requirements as I understood

Aim is to:

  • Issue a badge to a user.
  • Store minimal user data (probably in Google Sheets or a local database).
  • Use an API like Badgr to generate the badge.
  • Possibly host it on Cloudflare Workers (or a simple server).

Weekly Plan (subject to change as I am working in the industry as well as preparing for university exams as well)

Week 1: Research & Environment Setup

  • Study Badgr API and understand how to issue a badge.
  • Set up a Google Sheets API integration (or local storage) for user records.
  • Explore Cloudflare Workers for potential deployment.
  • Write a simple script to issue a test badge via the API.

Week 2: Prototype Development

  • Implement a minimal script that:
    • Reads user data (email/name).
    • Calls the Badgr API to issue a badge.
    • Logs errors for debugging.
  • Test issuing a badge to a test user.

Week 3: Refinement & Deployment

  • Improve error handling and logging.
  • Deploy the lightweight system to Cloudflare Workers (or an alternative).
  • Ensure the badge issuance process is fully automated.

Week 4: Testing, Documentation & Submission

  • Perform end-to-end testing (fix any bugs).
  • Write clear documentation
  • Submit the qualification task on GitHub.
  • Get feedback from mentors and make improvements.

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gsoc Google Summer of Code Project Idea
Projects
None yet
Development

No branches or pull requests