I thought about what technologies will help connect people around the world and decided to tackle the difficulty for regular repositories to get noticed. So I decided to build something not only makes it easier to find people who shared similar skills and technologies without realizing and find the less-popular repositories (which are relevant), but also something that can help developers to get accustomed to the idiomatic and best practices of development so that the general quality of repositories will increase.
One of the obstacles to use open source projects for me is that there aren't always clear APIs or examples. To connect components of several different projects can be tricky, if you are not very familiar with all the idioms and best practices. I wanted to build a program that makes it easier to look up projects that import a certain set of other repositories, and people who are using a certain set of technologies. I also wanted to build a idea sophistication & collaboration tool so that, once one get sa good idea of how people put different libraries together and who to collaborate with, one can go ahead and utilize the knowledge one just learned.
Using this technology enables you to see repositories you would never have seen otherwise, and get to know people you would have had hard time finding.
What it does
- search open source GOLANG projects that import all of given repositories (must click the automatically generated suggestion)
- search open source GOLANG developers who have experience using all of given repositories (not necessarily in a single project, but throughout her open source career)
- Provide search functions through API (/search through GET, /intersectRepo and /intersectHuman through POST)
- Use the search query to build a collaboration space where you can design a project which utilizes as much open source projects as possible and no one has ever built. (not implemented yet)
- Sends updates about who contributed to your collaboration space (by deciding to add, replace, or delete a project to/from a page) (not implemented yet)
How I built it
I started building from https://github.com/go-bootstrap/go-bootstrap, which helped me connect different technologies seamlessly. Golang also has a nice feature where the source code itself includes the exact address to the repositories they are importing, so it was possible to narrow down repositories by the projects they are using.
Challenges I ran into
Accomplishments that I'm proud of
I was able to implement much more features than I could a year ago, in HACKUCI.
What I learned
I learned about various open source projects that I used, or considered using, in my project. I learned the importance of concise, maintainable and usable APIs, and hope to be able to utilize it in the future.
What's next for Let Git Go
If I could, I want to extend the application outside of the scope of Golang.