-
-
Notifications
You must be signed in to change notification settings - Fork 34
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: JSON Schema Language Server Contributions #601
Comments
Hi! 👋 I am Utkarsh a college student passionate about software development. Ever since I found neovim I completely fell in love with it thanks to theprimeagan (a youtuber btw). I have given hours to have my own config and have failed miserably 😢 but that wasn't a waste as it left with extensive knowledge of how LSP works what is treesitter , buffers etc. Answer to the questions
PS: I cannot see mandatory qualification task as mentioned in gsoc/CONTRIBUTOR-GUIDANCE.md and I would love to follow up with the proposal but the slack link is also showing up expired. |
@utkarshdagoat Thanks for expressing your interest!
You can expect to see the qualification task announced early next week.
I think the link has been fixed now. Please try again. |
Hi, I am Diya Solanki, a keen open-source contributor and a college student who loves to code most of her time during the day. I have spent the last few months writing features for a javascript library called Some of my work: Answers to the questions:
I would like to dive into some issues and try solving them here, is there a particular repository or issue that I should be looking into? @jdesrosiers |
@diyaayay Glad to hear that you're interested!
The repo will be made public within the next week. Until then, you can start getting familiar with language servers (https://code.visualstudio.com/api/language-extensions/language-server-extension-guide) and |
Hi! I am Hugo, an passionate student of algorithms, math and web i.e computer science in general. Question: What interests you most about this project? Question: As mentors and project coordinators, how can we get the best out of you? Question: Is there anything that you’ll be studying or working on whilst working alongside us? Question: We'd love to hear a bit about your work preferences, e.g. how you keep yourself organized, what tools you use, etc? |
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: See you there! |
Tried implementing a small LSP for plain text files. The server validates the plain text document and flags all occurrences of words that use ALL CAPS. Diving into https://github.com/hyperjump-io/json-schema now. |
Qualification TaskThe repo is now public at https://github.com/hyperjump-io/json-schema-language-tools. The purpose of the qualification task is largely for us to get an idea of your suitability for this project. While this project will require good coding skills, your collaboration skills are what will be most important. If you're the type of person who prefers to be given detailed requirements and then left alone to get it done on your own, this is not the project for you. With this project, we're figuring things out as we go. There will be a lot of change and a lot of uncertainty. I need someone who is flexible to change and can be part of determining the direction of the project as we go. You won't be building something for me, you'll be building something with me. That's why I'd like you to do your qualification task as a pair. When you find a partner, create a group DM in Slack and include your partner and me (@jdesrosiers). There you can discuss what you're going to work on and how you're going to collaborate. Try to complete the task together rather than dividing up the work between you. The task is simply to make a contribution to the language server. I've tagged a few issues with gsoc for you to choose from. You can also propose something, but be careful about the scope of what you're proposing. You want something interesting enough to display your skill, but not too big that you can't get it done. Remember that quality is way more important than quantity or speed, so take your time, don't do too much, and do it well. With your PR, include a short screen capture video demoing the feature in both VSCode and Neovim. The issues I created aren't very detailed. Make sure to ask questions to ensure you understand what you need to build. Consider me a collaborator on your task, but in a product manager role. Don't be afraid to include me, but also don't spam me. |
Hi! I am Mohammed. I am an aspiring software engineer with a focus on backend development. I recently graduated from Zagazig University with a computer and systems engineering major. Here is a little more about me in the Q/A format: Q: What interests you most about this project?
Q: As mentors and project coordinators, how can we get the best out of you? Q: Is there anything that you’ll be studying or working on whilst working alongside us? Q: We'd love to hear a bit about your work preferences, e.g. how you keep yourself organized, what tools you use, etc.
Looking forward to taking advantage of this learning opportunity and contributing to this great organization. |
Hello Q: What interests you most about this project? Q: As mentors and project coordinators, how can we get the best out of you? Q: Is there anything that you’ll be studying or working on whilst working alongside us? Q: We'd love to hear a bit about your work preferences, e.g. how you keep yourself organized, what tools you use, etc? |
Hello to all mentors,
What interests you most about this project?For about a year now, I have been using NeoVim, which unlike other IDEs allows and requires an understanding of how the editor interfaces with the code and language logic. This has led me to learn how LSPs work and their implementation, from the real time observation part of the code to the actual communication between the service daemons (such as clangd, rust-analyzer, ...) and the various editors. What I find exciting about this project is the possibility of getting into the actual core of these services and experiencing what the protocol can offer. In addition, I have been using various libraries and tools developed by the Json Schema community and would love to interface with the people involved, who I believe are organised and very knowledgeable. As mentors and project coordinators, how can we get the best out of you?From what I have noticed in my previous experiences, I would appreciate it if coordinators would provide regular feedback to avoid misunderstandings and be available to clarify any doubts about the project. Good communication I believe is crucial and I personally will always keep those involved in the project updated on the status of the work. Working within a good organised team makes development more productive and I personally find it more enjoyable. Is there anything that you’ll be studying or working on whilst working alongside us?I am a Computer Science student and will be taking summer exams. Given last years' experiences, I will be busy taking the tests in the two weeks of mid-June. After those, I am free to work without university or work commitments. We'd love to hear a bit about your work preferences, e.g. how you keep yourself organized, what tools you use, etc?As mentioned I use NeoVim for development, which allows me to be much more productive than other IDEs I have used in the past (especially Visual Studio Code). My machine runs MacOS, although for compatibility and testing reasons I also use Dev Containers with Docker and Linux virtual machines. As far as the organisation aspect is concerned, I like to try out new tools all the time to compare them and get to know the ins and outs of each one. Lately, I have been obsessed with Airtable, which allows me to keep track of work, school and personal commitments. It offers many interfaces with external services (Github for example) and gives the possibility to develop custom applications and actions with the data entered. |
Hello to all mentors of JSON Schema Org, What interests you most about this project?The opportunity to contribute to the JSON Schema Language Server excites me greatly due to my keen interest in improving developer tools and efficiency. The chance to work on a variety of tasks—from implementing new features to debugging and enhancing existing ones—promises a dynamic and enriching experience. The various kinds of extensions in IDE have improved my coding efficiency tremendously, so I am excited to contribute my share to a project of a similar topic. At the same time, my skills are aligned with the project's requirements. The project aligns with my knowledge of client/server architectures. This project offers a platform to apply my skills in JavaScript, Node.js, and my understanding of asynchronous code, all within the innovative context of the Language Server Protocol (LSP). As mentors and project coordinators, how can we get the best out of you?Providing clear, prioritized goals and regular feedback sessions would be invaluable to maximize my contributions. I thrive in environments where open communication and collaboration are encouraged. Given my background in agile development and my proactive approach to problem-solving, I respond well to mentors who challenge me with high expectations while offering support for any coding issues. Additionally, allowing me some autonomy in task selection based on the project’s needs and my areas of interest could foster a mutually beneficial working relationship. Is there anything that you’ll be studying or working on whilst working alongside us?During this project, I aim to deepen my understanding of JSON Schema and the Language Server Protocol. Additionally, I plan to refine my skills in writing and working with automated tests, a crucial aspect of maintaining high-quality code. Exploring advanced JavaScript and Node.js patterns for efficient asynchronous programming will also be a focus, ensuring I can contribute effectively to the project's success. Other than knowledge relevant to the project itself, I plan to work on the project full-time during the Summer so I can get the most out of this experience. Work preferences: how you keep yourself organized, what tools you use, etc?I maintain organization and productivity through a combination of calendars and deadlines. I love using Google Calendar to organize my time so I know exactly what I need to do at each time of the day. Every time I get a meeting invite, I would immediately make an appointment in my calendar with a reminder 30 minutes before the meeting. If I have a deadline for a task, I would set up a reminder at least one day before the deadline. I have things going on in my life, but Google Calendar helps me stay on top of everything I have. For coding IDE, I use IntelliJ, Visual Studio, and Pycharm a lot. I also have experience with Google Colab for projects in a Machine Learning course I have taken. Weekly schedule with clear milestones and deliverablesWeek 1-2: Onboarding and Initial Planning This schedule is flexible and will be adjusted as necessary based on the project’s evolving needs and priorities. |
🚩 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. |
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 ❤️ |
JSON Schema Language Server Contributions
Brief Description
The Language Server Protocol (LSP) provides a way to write an IDE/editor extension that is compatible with any IDE/editor that supports the LSP. Today, most IDEs/editors support LSP including JetBrains, VSCode, and even Neovim. LSP allows you to provide all the kinds of features you'd expect from an IDE such as inline error messaging, autocomplete, goto definition, linting, and more. We're currently in the early stages of building a language server for JSON Schema.
Expected Outcomes
This might be different that other GSoC projects in that it's not explicit about what aspect of the language server you'll be working on. There will be a prioritized list of tasks and you will work with the maintainer to complete as many tasks as you can in the time allotted for GSoC. Sometimes you'll be working solo and other time pairing with the maintainer. Tasks may include implementing a language server feature, adding linting rules, improving an existing feature, and possibly some bugfixes.
Skills Required
Mentors
@jdesrosiers
Expected Difficulty
Hard
Expected Time Commitment
350 hour
The text was updated successfully, but these errors were encountered: