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

GSoC : A tour of JSON Schema #645

Closed
benjagm opened this issue Feb 27, 2024 · 35 comments
Closed

GSoC : A tour of JSON Schema #645

benjagm opened this issue Feb 27, 2024 · 35 comments
Labels
gsoc Google Summer of Code Project Idea Status: Stale It's believed that this issue is no longer important to the requestor.

Comments

@benjagm
Copy link
Collaborator

benjagm commented Feb 27, 2024

GSoC : A tour of JSON Schema

Brief Description
JSON Schema is easy and difficult at the same time and get expertise with it requires time, good docs and support from the community. With this project we intend to make it easier this process easier and quicker for new JSON Schema users.

What do you think about building an interactive learning material for json schema, similar to tour.golang ( https://go.dev/tour/welcome/1) ? It would be a sequence of tasks, every task would be about authoring a json schema document, that fulfills a textually provided requirement? Then the site would automatically validate / test the solution of the user.

Expected Outcomes
A new website called "A tour of JSON Schema" providing a learning experience for new JSON Schema users, similar than the learning experience https://go.dev/tour/welcome/1 provides to new Golang users. This will be a client-side/SPA javascript application that we can run as github pages.

Mentors
@erosb @benjagm

Expected Difficulty
Medium

Expected Time Commitment
175 hours

@benjagm benjagm added the gsoc Google Summer of Code Project Idea label Feb 27, 2024
@diyaayay
Copy link

Hello,
I am interested in working on this project.
I have an experience with creating interactive websites for learning a new javascript library so that they can learn and use the documentation and interactive code examples from the website and then integrate into their projects.
FrontEnd development along with https://yui.github.io/yuidoc/ could be used for making user-friendly documentation and allows contributors to the codebase to add updated documentation from inline comments for any future enhancements.
I would love to write a proposal for this project.
There is no qualification task mentioned here as of now.
Let me know if there is one to be released soon. @benjagm
Thanks.

@nouralmulhem
Copy link

Hey, I'm interested contributing to this, I've implemented a similar tool before a small compiler using wordpress on an internship before but i would like to dive into this problem again using different technologies, as it will be a new project so is there any qualification tasks for that one?
this is my resume it includes my experience in front-end development, let me hear you thoughts about qualification tasks, some small demo for this, or even your recommendation to start building and sharing a draft proposal [link]

@shivam2003sy
Copy link

Dear GSoC Mentors,

I am writing to express my keen interest in participating in the "A tour of JSON Schema" project for GSoC. With my strong background in both data science and computer science, coupled with my extensive experience in full-stack development, I believe I am well-equipped to contribute significantly to this project.

Here's why I am particularly excited about this opportunity and why I believe I am a good fit:

Understanding of JSON Schema: Having worked extensively with data in various formats, including JSON, I understand the importance of JSON Schema in ensuring data consistency and validation. I am eager to leverage my existing knowledge to create an interactive learning platform that simplifies the understanding of JSON Schema for newcomers.

Experience with Front-end Development: My experience as a Full Stack Developer, where I have worked with technologies like React, React Native, and Vue.js, has equipped me with the necessary skills to develop a user-friendly and intuitive interface for the "A tour of JSON Schema" website. I am proficient in TypeScript and have a strong sense of UI/UX design, which I believe will be instrumental in creating an engaging learning experience.

Passion for Interactive Learning Materials: I am deeply passionate about creating educational resources that make complex concepts accessible to learners of all levels. I believe that interactive learning materials, similar to the tour.golang platform, can significantly enhance the learning journey for new JSON Schema users, and I am eager to contribute to making this vision a reality.

Track Record of Success: Throughout my academic and professional career, I have consistently demonstrated my ability to deliver high-quality projects on time and to the satisfaction of stakeholders. My experiences as a Full Stack Developer, Product Developer, and Frontend Developer have honed my problem-solving skills and my ability to work effectively in team environments.

Availability and Commitment: I am fully committed to dedicating approximately 350 hours to this project, and I am prepared to devote the necessary time and effort to ensure its success. My past experiences in leading development teams and managing complex projects have equipped me with the skills needed to manage my time effectively and deliver results within the allocated timeframe.

I am excited about the opportunity to contribute to the "A tour of JSON Schema" project and to work alongside experienced mentors like yourselves. I am confident that my skills, experience, and enthusiasm make me a strong candidate for this project, and I am eager to make a meaningful impact.

Thank you for considering my application. I look forward to the possibility of discussing this opportunity further.

Warm regards,

Shivam Singh

@Adity20
Copy link
Contributor

Adity20 commented Feb 28, 2024

Hi @benjagm I'm eager to contribute to this issue and help create an interactive learning platform for JSON Schema. I have experience with front-end development using TypeScript and React and I'm excited to lend my skills to this project.
For the expected outcomes, a website similar to the Go tour, but tailored for JSON Schema, would be an excellent resource for the community. It would provide a structured and engaging way for users to learn and practice JSON Schema concepts.
It can indeed significantly ease the learning curve for newcomers to JSON Schema and provide them with hands-on experience in crafting schemas to meet specific requirements.

@ashadmuneer
Copy link

ashadmuneer commented Feb 28, 2024

Dear @benjagm @erosb,

I hope you're doing well. My name is Ashad Muneer, and I'm a third-year student majoring in Computer Science and Engineering. I've been diving deep into frontend development and UI/UX design, and I've got a pretty good grip on it. Today, I wanted to pitch you an idea for "A Tour of JSON Schema."

Here's what I'm thinking:

Project Overview:
"A Tour of JSON Schema" is all about making learning JSON Schema a breeze. I want to create a website where beginners can jump in and start playing around with JSON Schema in a guided, interactive way. Think of it like a friendly mentor guiding you through each step of the process.

  1. Interactive Learning Platform : We'll build a website where users can learn JSON Schema through hands-on tasks and exercises.
  2. Task-Based Learning : Each task will present users with a specific requirement, and they'll have to write JSON Schema documents to meet it.
  3. Automatic Validation/Testing : The platform will automatically validate and test users' solutions, giving them instant feedback on their progress.
  4. Community Engagement : We'll create a space where users can share their solutions, ask questions, and learn from each other.
  5. Documentation : Clear, easy-to-understand documentation will be key to helping users navigate the platform and learn effectively.

Why Open Source?
I firmly believe that open-source projects thrive on collaboration and community contributions. By making "A Tour of JSON Schema" an open-source endeavor, I have the chance to harness the collective expertise and creativity of developers worldwide. Additionally, this approach provides an excellent opportunity for students like me and professionals alike to enhance our skills, contribute to a meaningful project, and build our portfolios. It's about creating a space where individuals from diverse backgrounds can come together, learn from one another, and collectively make a positive impact on the developer community.
I'm super excited about this project and would love to get your thoughts on it.Let's make learning JSON Schema fun and accessible for everyone!
Thanks for taking the time to read this, and I hope to hear from you soon.

@VivekJaiswal18
Copy link

VivekJaiswal18 commented Mar 1, 2024

Hello @benjagm what will be the qualification task for this project idea?
I would love to contribute to this Project Idea in the coming summer for GSoC! Thanks

@benjagm
Copy link
Collaborator Author

benjagm commented Mar 1, 2024

Hi everyone! Find below the details of the qualification task:

Create a simple project with similar design to json-schema.org. Start with a welcome page and a button to start, to later build this multi step experience:

  • Step 1 : Ask the user to provide a JSON Schema and validate if is valid for Draft 2020-12.
    Once the user completes step 1 take them to step 2
  • Step 2 : Ask the user to provide a JSON Schema that defines and array with items of type number and validate it.

Requirements:

  • The app will use a json schema and a json for defining steps (with description and testcases), this is what you will use to build the multi-step experience.
  • Providing a code editor to allow users to provide the json schema to be validated.

Good luck!!

@youseftrek
Copy link

youseftrek commented Mar 2, 2024

Hi there,

I came across your project proposal for "A Tour of JSON Schema" and I must say, it's an exciting initiative that aligns perfectly with my skill set and interests. My name is Yousef Tarek, and I'm a passionate developer proficient in React, Next.js, JavaScript, Tailwind CSS, and with a strong focus on UI/UX design and creating interactive user interfaces.

Having worked extensively with these technologies, I am confident in my ability to contribute effectively to the development of the "A Tour of JSON Schema" website. My experience in React and Next.js ensures that I can efficiently implement the front-end features and functionalities required for the interactive learning platform. Additionally, my expertise in UI/UX design and Tailwind CSS allows me to create visually appealing and intuitive user interfaces that enhance the learning experience.

I'm particularly excited about the opportunity to leverage my skills to help make learning JSON Schema more accessible and engaging for newcomers. I believe that my background in front-end development and design, coupled with my passion for creating educational resources, makes me well-suited to contribute meaningfully to this project.

I'm eager to collaborate with you and the rest of the team, and I'm committed to delivering high-quality code and contributing positively to the project's success. Please let me know how I can get involved and contribute to the GitHub repository for "A Tour of JSON Schema."

Best regards,
Yousef Tarek

@vinfinity7
Copy link

Hello @benjagm @erosb ,

  • I came across your project proposal for "A Tour of JSON Schema," ! I'm Saksham Misra, a developer with a knack for Typescript , React, Next.js, JavaScript, Tailwind CSS, Windi and a lot more .

  • With learning excitement I can deal with any Framework I deal with including Electron js , Next js , React js or Three sj . I am well-prepared to tackle the challenges of GSOC'24 confidently. My dedication to open source contributions has been a longstanding passion, driving me to continually enhance my skills and contribute meaningfully to the community.

  • Honestly , During my tenure with your team, I plan to immerse myself in learning C++. This endeavor is driven by my ambition to develop an emulator, a project that will not only expand my skill set but also contribute significantly to the goals of the organization .

  • I am planning onto finishing the qualification task as quickly as I can inorder to proceed myslef to form the roadmap for my GSOC application .

@benjagm
Copy link
Collaborator Author

benjagm commented Mar 7, 2024

We just added a new skill required: Ability of applicants to create enjoyable learning material.

@officeneerajsaini
Copy link

We just added a new skill required: Ability of applicants to create enjoyable learning material.

It's a most important skill for this project @benjagm

@kunal0607
Copy link

Hello @benjagm @erosb,

I'm excited about contributing to the "A Tour of JSON Schema" project, bringing to the table my strong background in both backend development and front-end technologies, including Next.JS and TypeScript. My experience in setting up databases, creating APIs, and working with server-side logic complements my proficiency in front-end development, allowing me to contribute to a wide range of tasks within the project. I'm particularly keen on leveraging these skills to help build a robust, interactive learning platform that offers an engaging and seamless experience for users delving into JSON Schema.

Looking forward to the opportunity to contribute to this innovative project and the community.

Best regards,
Kunal Bansal

@benjagm
Copy link
Collaborator Author

benjagm commented Mar 9, 2024

Hi everyone! We just updated the Project requirement adding the following requirements:

  • Expected Outcomes: This will be a client-side javascript application that we can run as github pages.
  • Skills Required:
    • This task is ideal for someone creative with a sense for UI/UX.
    • Front-end development with familiarity with Typescript, React and Next.js.
    • Front-end with javascript.
    • Ability of applicants to create enjoyable learning material.

We are removing the option of building a server-side app, instead we'll prefer a native client-side javascript/SPA app that we can run as github pages.

@suryagowda
Copy link

@benjagm Regarding qualifying task, Draft 2020 12 json schema validating is breaking and I couldn't able to find a valid meta schema for it...instead can we use draft 7 or any previous version?

@officeneerajsaini
Copy link

@benjagm Regarding qualifying task, Draft 2020 12 json schema validating is breaking and I couldn't able to find a valid meta schema for it...instead can we use draft 7 or any previous version?

Yes @suryagowda i am facing same issue

@benjagm
Copy link
Collaborator Author

benjagm commented Mar 10, 2024

@benjagm Regarding qualifying task, Draft 2020 12 json schema validating is breaking and I couldn't able to find a valid meta schema for it...instead can we use draft 7 or any previous version?

Can you share the full text and the validator you are using?

@khoatr1509
Copy link

Hello @benjagm, I hope this message finds you well. I recently joined this disscussion and am eager to contribute to the qualifying tasks. Given my late start, I was wondering if there's a possibility for me to work on them. I'm genuinely enthusiastic about the project and excited about the opportunity to enhance the UX/UI.
Looking forward to your guidance and the chance to bring something cool to the table

@benjagm
Copy link
Collaborator Author

benjagm commented Mar 11, 2024

Hello @benjagm, I hope this message finds you well. I recently joined this disscussion and am eager to contribute to the qualifying tasks. Given my late start, I was wondering if there's a possibility for me to work on them. I'm genuinely enthusiastic about the project and excited about the opportunity to enhance the UX/UI. Looking forward to your guidance and the chance to bring something cool to the table

Welcome Khoa! Please see the qualification task for this project:

#645 (comment)

@suryagowda
Copy link

@benjagm Would you like to provide any feedback for the qualification task which I completed. If yes , where can I send you the project?

@V1K1NGbg
Copy link

V1K1NGbg commented Mar 12, 2024

Hello @benjagm.
My name is Victor Ilchev. I am a first-year student at the Technical University of Delft. I have a passion for learning and developing my skills. This is why I am eager to contribute to this project.
This brings me to my questions:

  1. How can I prepare to be a valuable part of your team? (more than the mentioned above)
  2. How do I begin to contribute to this project? (where do I make my submission)

You can check out my GitHub profile if you'd like to know more about me.
Thank you for your time!

@erosb
Copy link

erosb commented Mar 12, 2024

Helo @V1K1NGbg , welcome to the json schema community!

You can complete the qualification task , then

  • push your code into a github repo
  • and deploy it somewhere (for example a github page)
  • let us know about the previous two

You can also reach out to us on Slack.

@khoatr1509
Copy link

Hi @benjagm and @erosb, I just finish the qualify task, could you please share me the Slack link again. I have no idea where to find it. Thank you very much!

@benjagm
Copy link
Collaborator Author

benjagm commented Mar 14, 2024

@khoatr1509 please use this link to join Slack and send us a group DM with the repo and the url to test it. Thanks!

@benjagm
Copy link
Collaborator Author

benjagm commented Mar 18, 2024

🚩 IMPORTANT INSTRUCTIONS REGARDING HOW AND WHERE TO SUBMIT YOU APPLICATION 🚩

Please join this discussion in JSON Schema slack to get the last details very important details on how to better submit your application to JSON Schema.

See communication here.

@harini-1597
Copy link

Hey @benjagm @erosb
New here, but I'm very excited to work on this. In the process of learning Web Development and this would serve as a great first full-stack application that I'd build! I'll be using HTML, TypeScript, ReactJS, NextJS & Tailwind CSS for this.
Since the developer community practically thrives on open-source, it would be pretty amazing to contribute to code that would be used and implemented by others.
Looking forward to working with everyone!

@JeelRajodiya
Copy link
Member

JeelRajodiya commented Mar 20, 2024

Hi everyone! We just updated the Project requirement adding the following requirements:

  • Expected Outcomes: This will be a client-side javascript application that we can run as github pages.

  • Skills Required:

    • This task is ideal for someone creative with a sense for UI/UX.
    • Front-end development with familiarity with Typescript, React and Next.js.
    • Front-end with javascript.
    • Ability of applicants to create enjoyable learning material.

We are removing the option of building a server-side app, instead we'll prefer a native client-side javascript/SPA app that we can run as github pages.

@benjagm, Can we use Typescript for the project? Is it mandatory to use JavaScript?

@erosb
Copy link

erosb commented Mar 20, 2024

@JeelRajodiya typescript is preferred over javascript

@JeelRajodiya
Copy link
Member

JeelRajodiya commented Mar 20, 2024

One more question,
I have a basic project ready with a decent-looking UI.
Should I prioritize the user interface and additional features in the qualification task? Do they play a role in the evaluation process?

@Lahu19
Copy link

Lahu19 commented Mar 21, 2024

Hello everyone, I'm happy to join the open-source community! While I'm new to contributing, I've already built several projects in full-stack development. I'm particularly passionate about contributing to this project and am currently focused on enhancing the UI for the Tour of JSON Project.

@Piyusharora2003
Copy link

hi @benjagm
I am interested in working on this project.
I have experience with front-end development using React and I'm excited to lend my skills to this project. For the expected results, an interactive way to learn and understand JSON Schema i believe my skills would be relevant for the project .

I would love to contribute to this Project Idea in the coming summer for GSoC! Thanks.

@JARViSmakesitEZ
Copy link

JARViSmakesitEZ commented Mar 25, 2024

Hello @benjagm ,

I am a 3rd year Computer Science Engineering student and I am really interested in working on this project.I have an approach on how to work on this and it is as follows:

Features:
Task-based Learning: The platform will present users with a sequence of tasks, each focusing on a specific aspect of JSON Schema authoring.
Textual Requirements: Users will be provided with clear and concise textual requirements for each task, guiding them on what needs to be achieved.
Interactive Editor: An interactive editor will be provided for users to author their JSON Schema documents directly within the platform.
Automatic Validation: Upon submission of a solution, the platform will automatically validate the JSON Schema document against the provided requirements.
Feedback and Testing: Users will receive immediate feedback on their solutions, including any errors or discrepancies found during validation. Additionally, automated testing will be performed to ensure the correctness and completeness of the solution.
Progress Tracking: Users will be able to track their progress through the learning material, enabling them to revisit previous tasks and monitor their overall proficiency in JSON Schema.
Implementation Plan:

Platform Design: Design the user interface and overall structure of the interactive learning platform.
Task Creation: Develop a series of tasks, each focusing on different aspects of JSON Schema authoring. Tasks will be designed to progressively increase in complexity.
Interactive Editor: Implement an interactive editor that allows users to author JSON Schema documents directly within the platform.
Validation and Testing: Integrate validation and testing mechanisms to automatically validate user-submitted solutions against provided requirements.
Feedback System: Develop a feedback system to provide users with immediate feedback on their solutions, highlighting any errors or discrepancies.
Progress Tracking: Implement features for users to track their progress through the learning material and monitor their proficiency in JSON Schema.

Timeline:
Week 1-2: Platform design and task creation
Week 3-4: Interactive editor implementation
Week 5-6: Validation and testing integration
Week 7-8: Feedback system development
Week 9-10: Progress tracking implementation
Week 11-12: Testing, refinement, and finalization

The development of an interactive learning platform for JSON Schema will provide an invaluable resource for novice users seeking to master this powerful tool. By simplifying the learning process and providing immediate feedback and guidance, we can empower users to become proficient in JSON Schema authoring in a more efficient and engaging manner.

Best Regards,
Gourav Ghosh

@programmerjavascript
Copy link

Hi Ben (@benjagm),

Hope this message finds you well! I'm Njamen Ulrich, a junior web and mobile developer with a strong passion for JavaScript.

I recently registered for the google summer of code and was immediately drawn to its goal of making JSON learning accessible. As you mentioned, JSON can be both easy and challenging to grasp, especially without proper guidance.

That's where I believe my skills can be valuable:

Web Development: I have a solid foundation in web development principles, allowing me to contribute to the website's structure and functionality.
MongoDB: My familiarity with MongoDB, a popular NoSQL database that heavily utilizes JSON, provides me with insights into practical JSON applications.
Object-Oriented Programming (JavaScript): My knowledge of object-oriented programming in JavaScript, a language commonly used with JSON, strengthens my ability to understand and implement JSON features effectively within the website.
Postman and Node.js for Building APIs: I have experience using tools like Postman and Node.js, which are frequently used to interact with APIs that often exchange data in JSON format. This experience allows me to offer a perspective on demonstrating real-world use cases within the website.
I'm eager to leverage my skills and collaborate with the team. My enthusiasm for learning and contributing can significantly enhance the website's educational value.

Thank you for your time and consideration.

Best regards,

Njamen Ulrich

@keys-i
Copy link

keys-i commented Apr 11, 2024

Hi Benja
Is there any Progress on this?

Copy link

github-actions bot commented Jun 2, 2024

Hello! 👋

This issue has been automatically marked as stale due to inactivity 😴

It will be closed in 180 days if no further activity occurs. To keep it active, please add a comment with more details.

There can be many reasons why a specific issue has no activity. The most probable cause is a lack of time, not a lack of interest.

Let us figure out together how to push this issue forward. Connect with us through our slack channel : https://json-schema.org/slack

Thank you for your patience ❤️

@github-actions github-actions bot added the Status: Stale It's believed that this issue is no longer important to the requestor. label Jun 2, 2024
@benjagm benjagm removed the Status: Stale It's believed that this issue is no longer important to the requestor. label Jun 2, 2024
Copy link

github-actions bot commented Jul 7, 2024

Hello! 👋

This issue has been automatically marked as stale due to inactivity 😴

It will be closed in 180 days if no further activity occurs. To keep it active, please add a comment with more details.

There can be many reasons why a specific issue has no activity. The most probable cause is a lack of time, not a lack of interest.

Let us figure out together how to push this issue forward. Connect with us through our slack channel : https://json-schema.org/slack

Thank you for your patience ❤️

@github-actions github-actions bot added the Status: Stale It's believed that this issue is no longer important to the requestor. label Jul 7, 2024
@benjagm benjagm closed this as completed Oct 5, 2024
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 Status: Stale It's believed that this issue is no longer important to the requestor.
Projects
None yet
Development

No branches or pull requests