Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/scottgriv/github-user-info

A web application that allows you to search for GitHub users or organizations in order to view profile information and other details. Built with GitHub API and Angular.
https://github.com/scottgriv/github-user-info

angular angularjs github-api github-profile html sass typescript

Last synced: 22 days ago
JSON representation

A web application that allows you to search for GitHub users or organizations in order to view profile information and other details. Built with GitHub API and Angular.

Awesome Lists containing this project

README

        









Angular Badge
GitHub API Badge
Sass Badge


GitHub Badge
Email Badge
BuyMeACoffee Badge


GitHub Workflow Status (with event)
Silver

---------------

⚙️ GitHub User Info ⚙️

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](https://scottgriv.github.io/GitHub-User-Info)**.







Application Preview

> [!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](https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28) 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.

---------------

## Table of Contents

- [Getting Started](#getting-started)
- [Development server](#development-server)
- [Code scaffolding](#code-scaffolding)
- [Build](#build)
- [Running unit tests](#running-unit-tests)
- [Running end-to-end tests](#running-end-to-end-tests)
- [Further help](#further-help)
- [Resources](#resources)
- [License](#license)
- [Credits](#credits)

## Getting Started

### Development server

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.

### Code scaffolding

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`.

### Build

Run `ng build` to build the dev project, use `ng build --prod` for prod. The build artifacts will be stored in the `dist/` directory.

### Running unit tests

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

### Running end-to-end tests

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.

### Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.

## Resources

- [GitHub Rate Limits for REST API](https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28) - GitHub Rate Limits for REST API explained.
- [Angular](https://angular.io/) - 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](https://github.com/angular/angular-cli) - A command-line interface tool that you use to initialize, develop, scaffold, and maintain Angular applications.
- [GitHub API](https://docs.github.com/en/rest) - The REST API allows you to fetch data from and interact with GitHub.
- [SASS](https://sass-lang.com/) - A preprocessor scripting language that is interpreted or compiled into Cascading Style Sheets (CSS).
- [TypeScript](https://www.typescriptlang.org/) - 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](https://developer.mozilla.org/en-US/docs/Web/HTML) - The standard markup language for documents designed to be displayed in a web browser.
- [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) - A style sheet language used for describing the presentation of a document written in a markup language such as HTML.
- [Postman](https://www.postman.com/) - 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.

## License

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](https://choosealicense.com/licenses/mit/) provides certain freedoms while preserving rights of attribution to the original creators.
- For more details, see the [LICENSE](LICENSE) file in this repository. in this repository.

## Credits

**Author:** [Scott Grivner](https://github.com/scottgriv)

**Email:** [[email protected]](mailto:[email protected])

**Website:** [scottgrivner.dev](https://www.scottgrivner.dev)

**Reference:** [Main Branch](https://github.com/scottgriv/GitHub-User-Info)

---------------