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

JSON Schema: Build a new version of the JSON Schema tooling page #16

Open
benjagm opened this issue Feb 5, 2024 · 24 comments
Open

JSON Schema: Build a new version of the JSON Schema tooling page #16

benjagm opened this issue Feb 5, 2024 · 24 comments
Labels
ideas GSoC Project Ideas jsonschema JSON Schema related issue

Comments

@benjagm
Copy link
Collaborator

benjagm commented Feb 5, 2024

GSoC : Build a new version of the JSON Schema tooling page

Brief Description
JSON Schema is a fundamental technology massively used in the industry thanks to the amazing tooling available in the Ecosystem. In fact, the JSON Schema implementations page is third page in terms of visits which shows how important is for the JSON Schema users base. Some months ago we released a new version of the JSON Schema website, however the UX of the current page is suboptimal producing friction and slowing down the JSON Schema adoption.

The goal of this Project Idea is to build a new data-driven version of the page, with filters, call to actions to add implementations. The approved UX of this page is available here: JSON Schema Site Mock-up.zip and the community discussion is available on this issue: json-schema-org/website#160.

Before start working on the issue we'll review the discussion and capture the last requirements but as of now, the expected changes are just regarding Bowtie integration.

293672662-1f11c93b-434a-479a-b27f-5ae7c7c255b3

293672662-1f11c93b-434a-479a-b27f-5ae7c7c255b3

The JSON Schema website repository is available here: https://github.com/json-schema-org/website

Expected Outcomes

A new version of the tooling page, with filters, call to actions to add implementations. The approved UX of this page is available on this issue: json-schema-org/website#160

Skills Required

Front-end development with familiarity with Typescript, React and Next.js.

Mentors

@benjagm

Expected Difficulty
easy/medium

Expected Time Commitment
175 hours

Related issue in the JSON Schema org: json-schema-org/community#602

@benjagm benjagm added ideas GSoC Project Ideas jsonschema JSON Schema related issue labels Feb 5, 2024
@benjagm benjagm changed the title GSoC: Build a new version of the JSON Schema tooling page JSON Schema: Build a new version of the JSON Schema tooling page Feb 5, 2024
@DarhkVoyd
Copy link

Hello,

  • I am building my own open source project Toppings in typescript and Next.js, so this is a wonderful opportunity to get first hand experience to work and learn from the experience of large community of people.
  • I would expect my mentors to provide clear project expectations and regular feedback so that I can grow and have lesser dependency.
  • Not specifically but I would be learning what comes new to Next.js and Typescript which I usually keep updates from Matt Pocock's content.
  • I like to keep my setup clean and minimal as possible, so I am gradually shifting from VS Code to NeoVim. So far, it's going wonderful. Love the keybindings, clean flow and it's so faster than VSCode.

@benjagm
Copy link
Collaborator Author

benjagm commented Feb 8, 2024

Thanks for your interest @DarhkVoyd !! Until GSoC announces the accepted mentoring orgs, you can start getting to know the project by choosing an issue with label good first issue.

@atharva-gadekar
Copy link

atharva-gadekar commented Feb 8, 2024

Hello @benjagm,

  • I'm a third-year student at IIIT A, eager to venture into open source development. During a recent two-month internship, I built an admin dashboard with similar features using Next.js and TypeScript. I've also worked on several full-stack projects and feel confident in React.js.

  • I'm excited about the opportunity to contribute to this idea. It would not only help me improve my coding skills but also make a real difference in people's lives. I'm keen to learn more about how I can be a part of this initiative.

  • If you have any other projects using the MERN stack in mind, I'd appreciate your suggestions.

Thank you for considering my interest. I look forward to hearing from you soon.

@benjagm
Copy link
Collaborator Author

benjagm commented Feb 13, 2024

Hello @benjagm,

Thanks for your interest @atharva-gadekar !! Is great you have interest on the project!. Please you can get familiar with it by picking any of the good first issues we have available here: https://github.com/orgs/json-schema-org/projects/11

@atharva-gadekar
Copy link

Thanks for your interest @atharva-gadekar !! Is great you have interest on the project!. Please you can get familiar with it by picking any of the good first issues we have available here: https://github.com/orgs/json-schema-org/projects/11

Sure, I will pick out an issue by the end of the day, please assign it to me.

@benjagm
Copy link
Collaborator Author

benjagm commented Feb 22, 2024

Thanks for your interest! Lets continue the discussion in this issue inside the JSON Schema project: json-schema-org/community#602

@ShivaniYS
Copy link

Hello @benjagm
I hope you're doing well. I'm excited about the JSON Schema tooling page project for GSoC. I can contribute effectively with my internship experience in front-end development, including React and Next.js.

During my internships, I've developed user-friendly websites, implemented data-driven features, and worked on dynamic platforms. My skills in MongoDB, Node.js, Typescript, and React.js align well with the project requirements.

Thank you for considering my interest, Looking forward to your response!

@benjagm
Copy link
Collaborator Author

benjagm commented Feb 27, 2024

Thanks a lot for joining JSON Schema org for this edition of GSoC!!

Qualification tasks will be published as comments in the project ideas by Thursday/Friday of this week. In addition I'd like to invite you to a office hours session this thursday 18:30 UTC where we'll present the ideas and the relevant date to consider at this stage of the program.

Please use this link to join the session:
🌐 Zoom
📅 20124-02-29 18:30 UTC

See you there!

@benjagm
Copy link
Collaborator Author

benjagm commented Feb 27, 2024

Qualification task

The qualification task for this issue consist on completing one issue of the website development or documentation board. If you collaborate with someone to do a joint PR that will perfect. In fact, we'd love to see you all collaborating.

If there are no issues available, you can be reviewer of PRs opened by others.

We are interested in contributors that are creative and strong at front-end but most important, contributors that are good open source citizens and love collaborating with others.

Mentor: @benjagm

@jayprakash25
Copy link

jayprakash25 commented Feb 27, 2024

Hello @benjagm , I am a sophomore B.Tech student specializing in AI/ML, with a keen interest in web development. Since 2022, I've built several web apps and contributed to open-source projects, including three successful contributions to Hacktoberfest. My experience has equipped me with a solid foundation in software development and collaboration.I am excited about the opportunity to apply my skills to postman as part of GSoC.

@AdityaSingh-02
Copy link

Hello @benjagm

Hello! I'm Aditya Singh, a Computer Science undergraduate from India with a passion for open-source contributions. Previously, I had the opportunity to participate in Google Summer of Code 2023 at Rocket.chat, which was an enriching experience. This season, I'm eager to channel my skills and knowledge into contributing to JSON Schema. The project's requirement matches my tech stack, and I'm excited about the potential impact I can make by contributing to JSON Schema. I'm looking forward to making some worthy contributions🚀

x - https://twitter.com/Go_D_Aditya

@jayprakash25
Copy link

Hi @benjagm ,

What interests you most about this project?

I am deeply interested in this project as I am passionate about contributing to open-source organisations that are essential for developers across the globe, improving usability and overall interaction with JSON Schema. I see immense value in rebuilding the implementations page to better serve its user base, making it easier for developers to find, compare, and select the right tools for their needs. In addition to my enthusiasm for the project's goals, I bring a solid foundation in web development, including experience with modern frontend frameworks like React, next.js and an eye for UX/UI design principles.

As mentors and project coordinators, how can we get the best out of you?

To get the best out of me clear communication and feedback is the key. By setting up regular check-ins to discuss progress, seek adivce, ask questions and recieve answers would be very valuable.

Is there anything that you’ll be studying or working on whilst working alongside us?

While working on this project I plan to continue my studies in computer science, focusing on machine learning and further enhancing my web development skills, particularly in scalable web architectures.

We'd love to hear a bit about your work preferences, e.g. how you keep yourself organized, what tools you use, etc?

I find writing tasks on paper to be a valuable method for staying organised and focused, as it provides a sense of progress to me. For version control and project management I use github, for conversations I use discord and github discussions. This combinations ensures a clear work ethic and communication within the project team.

Weekly Schedule

Week 1:

  • Setup development environment
  • Engage with community for initial feedback
  • Review the provided design with mentors to understand all requirements.

Week 2-3:

  • Develop the basic structure and components of the page.
  • Implement the layout, navigation, and elements of the design.
  • Ensure the page structure is responsive

Week 4-5:

  • Integrate dynamic content functionalities and filters.
  • Develop and integrate dynamic components such as filters for tooling type.
  • Test the functionalities to ensure they meet the design specifications.

Week 6-7:

  • If a backend is required for certain features (e.g., handling community contributions), develop or integrate these services .
  • Ensure proper connection and data flow between the frontend and backend services.

Week 8-9:

  • Add advanced features and interactivity.
  • Implement call to actions for community contributions.
  • Add any additional interactive elements as specified in the design.

Week 10-11:

  • Perform testing across different devices and browsers to ensure compatibility and responsiveness.
  • Analyze feedback and make necessary adjustments to the implementation.

Week 12:

  • Finalize the project.
  • Implement final bug fixes based on latest feedback.

Post GSOC:

  • Updating the tool when needed.
  • Engage with commuinity to encourage contributions.

I've got an approach to add these specific requirements into the development of JSON Schema Implementations Page. We could consider developing an API that allows community contributions to the implementations data directly, subject to review and approval processes.

@AdityaSingh-02
Copy link

Hello @benjagm

Hello! I'm Aditya Singh, a Computer Science undergraduate from India with a passion for open-source contributions. Previously, I had the opportunity to participate in Google Summer of Code 2023 at Rocket.chat, which was an enriching experience. This season, I'm eager to channel my skills and knowledge into contributing to JSON Schema. The project's requirement matches my tech stack, and I'm excited about the potential impact I can make by contributing to JSON Schema. I'm looking forward to making some worthy contributions🚀

x - https://twitter.com/Go_D_Aditya

@benjagm

  1. What interests you most about this project?

The project "JSON Schema: Build a new version of the JSON Schema tooling page" presents an exciting opportunity to contribute to the improvement of JSON Schema's tooling page. As someone passionate about web development and user experience design, the prospect of redesigning and modernizing the tooling page is particularly appealing. This project offers a chance to enhance accessibility, usability, and overall experience.

  1. As mentors and project coordinators, how can we get the best out of you?

With prior experience in GSOC with Rocket.chat I value open lines of communication with mentors and project coordinators to discuss goals, expectations, and any challenges that may arise throughout the project. Additionally, I thrive in an environment that encourages creativity and problem-solving, where I can explore different approaches and technologies to achieve project objectives

  1. Is there anything that you’ll be studying or working on whilst working alongside us?

While working on this project, I'll be diving into user experience research, interface design principles, and front-end development techniques to create an engaging and user-friendly tooling page. I'll explore best practices for organizing content, improving visual hierarchy, and optimizing navigation to enhance usability and accessibility.

  1. We'd love to hear a bit about your work preferences, e.g. how you keep yourself organized, what tools you use, etc.?

In terms of organization, I rely heavily on project management tools like Notion to keep track of tasks, deadlines, and progress. I find that breaking down larger tasks into smaller, manageable chunks helps maintain focus and momentum.

For development, I prefer using modern web development tools and frameworks that emphasize performance, maintainability, and scalability. I'm proficient in HTML, CSS, and JavaScript, and I have experience working with frameworks like NEXTJS to build dynamic and responsive user interfaces.

Regarding a weekly schedule with clear milestones and deliverables, here's a suggested outline:

  • Week 1: Gather the requirements by carefully analyzing the page.
  • Week 2: Develop wireframes and mockups for the new tooling page.
  • Week 3-4: Begin implementation of the new tooling page, incorporating feedback from Mentors
  • Week 5-7: Implement interactive features and functionality.
  • Week 8-9: Conduct usability testing and gather feedback from users to identify areas for improvement and refinement.
  • Week 10-12: Finalize the development of the new tooling page, perform thorough testing, and prepare documentation for deployment.

@AdityaSingh-02
Copy link

For Developing a new version of JSON schema Implementations page -

  • The main focus of this project would be to improve overall user experience for the implementations page.

  • I would focus on building new version for both mobile as well as desktop keeping the page responsive.

  • I would create a filter that would-

    • When on Desktop, have them across the top, and sticky (stay when you scroll, and not on mobile)
    • For mobile, a filter button which opens an overlay with the filter options (like the main menu)
  • This project would mainly include of creating new components and replace the existing components with the newer one’s… hence enhancing the user experience...

  • Further discussing, I have gone through the designs for both desktop and mobile view, This project uses NextJS and tailwind CSS for the frontend styling and I have hands on prcatice with it.

@benjagm
Copy link
Collaborator Author

benjagm commented Mar 7, 2024

We just added Added clarification of the current design and what requirements are still under discussion.

@jayprakash25
Copy link

jayprakash25 commented Mar 7, 2024

I am confident that I will be able to adapt to the requirements quickly and also I may need to refine my approach further based on new requirements.

@jayprakash25
Copy link

I couldn't find a GSoC proposal template in the contributor guidance. Is there a specific format or template I should use for my proposal? Any advice would be appreciated @benjagm .

@benjagm
Copy link
Collaborator Author

benjagm commented Mar 9, 2024

I couldn't find a GSoC proposal template in the contributor guidance. Is there a specific format or template I should use for my proposal? Any advice would be appreciated @benjagm .

Hi Jay, Find here the very high level application template: https://github.com/json-schema-org/community/blob/main/programs/mentoring/gsoc/CONTRIBUTOR-GUIDANCE.md#application-template

@jayprakash25
Copy link

I couldn't find a GSoC proposal template in the contributor guidance. Is there a specific format or template I should use for my proposal? Any advice would be appreciated @benjagm .

Hi Jay, Find here the very high level application template: https://github.com/json-schema-org/community/blob/main/programs/mentoring/gsoc/CONTRIBUTOR-GUIDANCE.md#application-template

Thank you @benjagm

@crampussm
Copy link

crampussm commented Mar 12, 2024

Hi @benjagm

To Build a new version of the JSON Schema tooling page

I'm Swaparup Mukherjee. A first year B.Tech student of National Institute of Technology Agartala. I'm from Kolkata, India ( Currently staying in Agartala due to college ). I am an intermediate full stack web developer. I have made several projects in MERN stack. I have fairly good experience in working with React.js. I want to contribute to this project. With my past experiences I am pretty sure I can deliver this project as per the requirements.

I have made several projects using React.js . You can see my projects on my gitHub repo.

I have good amount of experience in web development. I have made many projects on React.js. This project requires a new data-driven version of the page, with filters, call to actions in a existing website. I have implemented this kind of feature in some of my previous projects. I think this kind of features in a website always increase the quality of UX.

I feel myself confident about working on this project. Please give me the opportunity to work in this project. I will be always available to work in this project except during the time of my college's end semester exam, but that will be approximately only 1 - 1.5 weeks. Other than that I will always prioritize this project.

Thank you.

@nikhil822
Copy link

Hello @benjagm

  • I'm Nikhil Kumar Sahu, and I'm a final-year IT undergrad interning as a software engineer. I'm excited to delve deep into open source to learn and contribute, as I'm new to it. I'm working on full-stack projects based on the MERN stack as part of my internship.
  • I find it interesting and confident to work on this project, as I am now interning on a full-stack project.
  • As stated in the project's necessary skill list, I will be using react.js for development. During the project, I will also learn next.js and typescript.

Thank you for considering my interest. Looking forward for your response.

@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.

@jayprakash25
Copy link

Hi @benjagm, I just want to confirm that our project size is considered medium-sized as I understand. Is that correct?

@benjagm
Copy link
Collaborator Author

benjagm commented Mar 19, 2024

Hi @benjagm, I just want to confirm that our project size is considered medium-sized as I understand. Is that correct?

That is correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ideas GSoC Project Ideas jsonschema JSON Schema related issue
Projects
None yet
Development

No branches or pull requests

8 participants