This dynamic web application leverages the GitHub API to provide a comprehensive and interactive search experience, enabling users to effortlessly find and explore profiles of both individual developers and organizations on GitHub. Featuring a sleek, user-friendly interface built with Angular, the application not only displays basic profile information but also offers insights into repositories, contributions, and activity timelines, allowing for in-depth understanding of a user's or organization's coding journey and open-source contributions.
- Built with GitHub API and Angular.
- A helpful Postman Collection is included in the
/docs/api
folder. - View a demo of the project on GitHub Pages Here.
Note
Total Commits and Total Stars is hidden without using a Personal Access Token due to the multiple API requests/loops required to obtain the data for demo purposes. Change personalAccessToken
to true
vs. the default false
to see this information.
Important
If you get a "Rate limit exceeded" error, it is because the application is not using a personal access token, therefore, API requests are limited . See GitHub Rate Limits for REST API for more information. The primary rate limit for unauthenticated requests is 60 requests per hour
Tip
If you would like to use the application with a personal access token, which has higher rate limits, update the usePersonalAccessToken
flag to true
and add your own token to the personalAccessToken
variable in the src/environments/environment.prod.ts
file.
Build and serve the application for the changes to take place.
Warning
By default, the application hosted on GitHub Pages does not use a Personal Access Token, thus, it is subject to Rate Limits which is displayed in the output.
Caution
Do not commit your repo when testing using a Personal Access token above; it should be used for local testing purposes only.
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The application will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the dev project, use ng build --prod
for prod. The build artifacts will be stored in the dist/
directory.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI Overview and Command Reference page.
- GitHub Rate Limits for REST API - GitHub Rate Limits for REST API explained.
- Angular - A TypeScript-based open-source web application framework led by the Angular Team at Google and by a community of individuals and corporations.
- Angular CLI - A command-line interface tool that you use to initialize, develop, scaffold, and maintain Angular applications.
- GitHub API - The REST API allows you to fetch data from and interact with GitHub.
- SASS - A preprocessor scripting language that is interpreted or compiled into Cascading Style Sheets (CSS).
- TypeScript - A programming language developed and maintained by Microsoft. It is a strict syntactical superset of JavaScript and adds optional static typing to the language.
- HTML - The standard markup language for documents designed to be displayed in a web browser.
- CSS - A style sheet language used for describing the presentation of a document written in a markup language such as HTML.
- Postman - Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster.
This project is released under the terms of the MIT License, which permits use, modification, and distribution of the code, subject to the conditions outlined in the license.
- The MIT License provides certain freedoms while preserving rights of attribution to the original creators.
- For more details, see the LICENSE file in this repository. in this repository.
Author: Scott Grivner
Email: [email protected]
Website: scottgrivner.dev
Reference: Main Branch