GitHub Topic Explorer Assignment: Your task is to build a React web application that displays all the "topics" related to the term "react", using the GitHub GraphQL API. The application should display how many "[stargazers](https://docs.github.com/en/free-pro-team@latest/graphql/reference/objects#starga zerconnection)" each topic has. A click on a topic should display the topics related to that topic, and how many stargazers they have. And so forth. To interact with the Github GraphQL API you'll need to have
- a [Github API key](https://docs.github.com/en/free-pro-team@latest/graphql/guides/forming-calls-with-graphql #authenticating-with-graphql)
- You'll want to make use of the key in the .env file within your application You may use whatever React framework or library you find useful. URL routing is optional. Evaluation:
- We will pay particular attention to the way the code is organized, and to the overall readability
- Unit tests will be greatly appreciated
- Design will be ignored, however usability and accessibility will be taken into consideration
- Remember to update this README with instructions on how to install, run and test your application
- Your first goal is to have a working app, but feel free to improve the application however you see fit
- We hope that you can complete the assignment within 2 hours but don't set any time constraints
- Please reach out per email or by opening an issue if anything is unclear or blocking you Best of luck
Dev Notes by Ivan
- Leave any technical notes on any libraries or tools you chose to use, the more detail the
- Apollo : I used apollo library to create my GaphQL server and conect with GitHub Api
- mui : I used mui Library yo help me with some componets like cardas, chips and other basic components
- react-test-renderer : I used this library with @apollo/client/testing to help me with the test of GaphQL
- Netlify : I used this tool to to deploy the app, and this tool allow me to connect the site with my github repository
How to run app & test
- Install all the dependencies by running the command
npm install
- Open the page by running the command
npm start
- Build by running the command
npm run build
- Test by running the command
npm run test
Future Improvements
Feel free to elaborate on how you would improve any of the following topics
- Code Structuring
- I can use some documentation plugins to increase that part of the code
- Refactoring:
- Additional Features:
- I can use some templates to help me with the UI and UX