Inspiration ⚡
'Stargazers' are a public list of GitHub users that have starred (essentially bookmarked) your repository and is a rough indicator of engagement. People either want to use your code or at least not forget the link to follow up on it another time. It is a good measure to see how useful or inspiring your project is. We wanted users to get their due appreciation and be able to see everyone who has contributed to their reach by starring the repository.
What it does❓
GitHub Stars is a web application that allows GitHub users to enter their Github repository link and view the people who have starred their projects. You can also see the number of total stargazers, along with a link to each stargazers' profile. Since the number of stargazers can be infinite, we display only the profiles of the first 100 stargazers in alphabetical order.
How we built it 👷♀️
We used Next.js as the Frontend Framework of our web application and we used Typescript. We also used Github Graphql API in place of REST API to learn more about the GraphQL ecosystem and technology. Then, we made use of Apollo Client as the library to enable us easily interact with Github GraphQL API. We had to obtain a Github personal access token to make use of the Github GraphQL API.
Challenges we ran into 🥺
As we were using so many new technologies together, it was very overwhelming at first to figure out what to learn first, how to structure the project and so on but as a team, we figured it all out. We also faced a lot of problems with the rate-limiting issue of the GitHub API. We then found a way to make the requests authorised and increase the rate limit to some extent. In addition to that, being a group of javascript developers, it was a bit difficult to start writing code in typescript but we worked hard and got the job done.
Accomplishments that we're proud of 🥳
We were able to overcome all the challenges and were able to create a completely functional prototype. We were able to fetch the data from the GitHub user's repository and display it in an attractive UI as we had envisioned. We are most proud of the fact that we learnt so many new tech stacks in just a matter of a few days.
What we learned 🧐
All the technologies, be it NextJs, GraphQL or Typescript, were very new to us. We learnt all three of them together while focusing on the core concepts of each technology. It was also our first time using the Github API. Since not many tutorials were present, we learnt the importance of documentation and how to use it efficiently. We have always used REST APIs to make API calls so trying out GraphQL was very fascinating and we really enjoyed using it.
What's next for Github Stars 💫
Going ahead, the Github Stars will have a lot of new features like providing much more information regarding forks, deployments and so on of the repositories. We will also include a direct option of sharing the stars to various social media platforms like Twitter, LinkedIn and so on. Lastly, we also plan on creating a leaderboard that motivates the users to continue creating amazing projects.
Built With
- api-authentication
- apollo-client
- github-api
- graphql
- nextjs
- typescript
Log in or sign up for Devpost to join the conversation.