Ecosyste.ms: Awesome

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

https://github.com/DIGOARTHUR/github-automated-repos

The library that automates, in one place, the administration of your github projects on your website.
https://github.com/DIGOARTHUR/github-automated-repos

automated github library npm porfolio reactjs typescript

Last synced: 16 days ago
JSON representation

The library that automates, in one place, the administration of your github projects on your website.

Lists

README

        



language_USA




language_Brazil

github-automated-repos



angular-logo


github-automated-repos is the lib that gives you the power to control the visualization of your projects on the website,

in your own GitHub in one place!



https://github-automated-repos.vercel.app



Contributing Guidelines









![NPM DOWNLOADS](https://img.shields.io/npm/dt/github-automated-repos?style=plastic)
![NPM Paackage](https://img.shields.io/npm/v/github-automated-repos?color=brightgreen&label=NPM%20package&logo=NPM&logoColor=white)
![CodeFactor](https://img.shields.io/codefactor/grade/github/digoarthur/github-automated-repos?color=brightgreen&label=Code%20Quality&logo=codefactor)
![GitHub](https://img.shields.io/github/license/digoarthur/github-automated-repos)
Husky
Eslint
Prettier
Husky




ReactJS ![Check](https://img.shields.io/badge/-Check-green)
ViteJS ![Check](https://img.shields.io/badge/-Check-green)
NextJS [![Check](https://img.shields.io/badge/-Framework%20settings-yellow)](https://github.com/DIGOARTHUR/github-automated-repos/?tab=readme-ov-file#-framework-settings)





## 1. Installation

> [!TIP]
> Use the code example in this documentation. [Code Example](https://github.com/DIGOARTHUR/github-automated-repos/tree/main?tab=readme-ov-file#code-example-1)

```shell
npm install github-automated-repos
# or
yarn add github-automated-repos
```

## 2. Using hook

```typescript
import {useGitHubAutomatedRepos} from "github-automated-repos";

const data = useGitHubAutomatedRepos("GitHubUsername", "KeyWord");

```
## 3. Choose the repositories and fill in the Topics field with the keyword you determined.
> [!IMPORTANT]
> To insert stack names in the topics field, see web documentation > [Stack Icons](https://github-automated-repos.vercel.app)

![image](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/9a0a0aaf-02e8-4a7f-8390-6e7fb4a3ea53)

## 4. ✅Ready! JSON - Data from repositories chosen by you!

JSON - DATA

### Data Example ~ console.log(data) ~

```javascript
Array(4)
0
:
{id: 517152367, name: 'Dashgo', html_url: 'https://github.com/DIGOARTHUR/Dashgo', description: 'IGNITE - Trilha ReactJS/ - Neste projeto é aplicad…ate, Components, Props. Recursos do JS como: Map.', topics: Array(7), …}
1
:
{id: 482667387, name: 'DashBoard-Financeiro', html_url: 'https://github.com/DIGOARTHUR/DashBoard-Financeiro', description: 'IGNITE - Trilha ReactJS/ Chapter II - Esta aplicaç…mpanhamento de valores de entrada, saída e total.', topics: Array(6), …}
2
:
{id: 412849316, name: 'Task.TODO', html_url: 'https://github.com/DIGOARTHUR/Task.TODO', description: 'IGNITE - Trilha ReactJS/ - Este projeto aborda con…Filter e Math, Spread. E para estilização o SASS.', topics: Array(7), …}
3
:
{id: 355616217, name: 'Move.it', html_url: 'https://github.com/DIGOARTHUR/Move.it', description: 'NLW#04 - Rocketseat - Utilizando a técnica Pomodor… o objetivo é executar a tarefa do seu interesse.', topics: Array(8), …}
length
:
4
[[Prototype]]
:
Array(0)
```

IN PAGE WEB

### 💡Use your creativity and build the card however you want.

![portfolio_page](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/05e5ab60-5851-4aab-911f-19227a75dc72)


---










- ## About Library
- ## Library
- ### Import
- ### Fill in the fields in the github repository
- ### Code Example
- ### Framework Settings



# skills About Library
> This library automates the view your GitHub projects on your website in one place. But how? Make the code configuration only once in your application with github-automated-repos, and manage the view of your projects on GitHub in the Topics field. Choose which project will be seen on your website, and you can even customize your project card, for example, with a representative icon and show which stacks were used. All in one place!

| Control your projects |
| :-------------------------------------------------------------------: |
| ![image](https://user-images.githubusercontent.com/59892368/214140611-910cd26b-280d-48f1-8652-65034f04a4f8.gif) |

| Customize and represent through icons. |
| :--------------------------------------------------------------: |
| ![image](https://user-images.githubusercontent.com/59892368/214817180-519e403f-0fa4-4bfd-a6cc-5eb63d3360e8.gif)|


| In one place |
| :-------------------------------------------------------------------: |
| ![image](https://user-images.githubusercontent.com/59892368/214930109-119c4b38-9862-4a3d-a130-2dfad5c4bcb6.gif)|


# skills Library

## Import
```jsx
import { useGitHubAutomatedRepos, ProjectIcons, StackIcons, StackLabels } from 'github-automated-repos';
```

### The package imports four elements:

- `useGitHubAutomatedRepos` hook responsible for automating the return of data from repositories. This hook takes two parameters: GitHubUsername & keyword. The return is an array of objects containing 7 properties: id, banner, html_url, homepage, topics, name and description.

```tsx
const data = useGitHubAutomatedRepos("GitHubUsername", "KeyWord");
```
- #### return data example:

``` javascript
[
{
banner:"https://raw.githubusercontent.com/DIGOARTHUR/github-automated-repos/main/src/assets/images/banner.png"
description: "The library that automates, in one place, the administration of your github projects on your website."
homepage: "https://github-automated-repos.vercel.app"
html_url: "https://github.com/DIGOARTHUR/github-automated-repos"
id: 585693873
name: "github-automated-repos"
topics: (8) ['automated', 'deploy', 'github', 'library', '
}
]
```





- `StackIcons` The component returns, based on the iteration of the topic array that is contained in data, icons of the stacks used in your project. Enter the stacks used in your repository's topic field.. Check the [Stack Icons](https://github-automated-repos.vercel.app/documentation/stackIcons) tab!

```jsx
data.map((item) => {
return (
...
{item.topics.map((icon, index) => {
return (

}
...
```

- #### Render component StackIcons example:



![react-icons](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/876a12c4-93fa-4eb3-908c-b7c36ded395c)![NET_Core_Logo](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/6cad1fdc-d3bb-4adb-9b14-bec1977aaee1)
![mysql-logo-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/8690e53e-5787-48b1-8adc-29c90e56fd42)
![mongo-svgrepo-com (1)](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/7cd5a1ec-ea87-4d7e-8429-1e3fcff03f49)
![linux-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/79ac45a3-5958-4efe-a3e6-90c135d2b466)
![vue](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/07dcaa25-215a-45a8-b783-2c97626c1639)
![Vitejs-logo](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/05cf8a94-895c-4249-8636-f1d2a0ea165b)
![typescript](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/ebd5f88a-7915-4cb5-9109-6f3fc5db9fec)
![tailwind-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/6af503c9-efdc-4e83-9ba7-c910476a8642)
![swift](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/355549ea-87e2-4afd-83a9-2f9cb56c7c49)
![swagger-svgrepo-com (1)](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/fce6e2aa-ecc8-4995-bc3f-68b225f0f0d7)
![storybook](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/453d2e70-dc15-4fb3-b75e-4ea35cbe472b)
![sqlite-svgrepo-com (1)](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/ffb1f056-97ee-4bd1-b5be-4b8f87b6ac9d)
![spring-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/3c36d340-e16c-458e-b39c-eef7051aaf74)
![scala-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/a65edf82-e0ea-4a8e-90b2-e284593684ec)
![sass-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/7fd8a1af-290f-499f-8691-360c6511cc7b)
![ruby-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/3d2bd96d-e9cd-4566-b58e-a6bb9d907aa0)
![Ruby_On_Rails_Logo](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/c755be70-ba40-48ae-84f1-65ab791835ec)
![react-query-seeklogo com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/eb3732e9-d3a9-4f9f-b706-8969557681aa)
![python-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/1cd247af-dabd-41dc-97c5-311944661278)
![prisma](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/b7355d54-3cd1-4750-8192-e4bdb4b774c8)
![prettier](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/809a2edc-c11a-4645-bc44-c97e546fdadf)






- `StackLabels` component returns, based on the iteration of the topics array that is contained in data, labels of the stacks used in your project. Insert the stacks used in the topics field of your repository. Check the [Stack Icons](https://github-automated-repos.vercel.app/documentation/stackIcons) tab!

```jsx
data.map((item) => {
return (
...
{item.topics.map((icon, index) => {
return (

}
...

```
- #### Render component StackLabels example:



![](https://img.shields.io/badge/angular-%23646cff?style=plastic)
![](https://img.shields.io/badge/javascript-%23646cff?style=plastic)
![](https://img.shields.io/badge/aws-%23646cff?style=plastic)
![](https://img.shields.io/badge/elixir-%23646cff?style=plastic) ![](https://img.shields.io/badge/jest-%23646cff?style=plastic) ![](https://img.shields.io/badge/mongodb-%23646cff?style=plastic) ![](https://img.shields.io/badge/react-%23646cff?style=plastic) ![](https://img.shields.io/badge/salesforce-%23646cff?style=plastic) ![](https://img.shields.io/badge/vuejs-%23646cff?style=plastic)
![](https://img.shields.io/badge/yarn-%23646cff?style=plastic)
![](https://img.shields.io/badge/visualstudio-%23646cff?style=plastic)
![](https://img.shields.io/badge/storybook-%23646cff?style=plastic)
![](https://img.shields.io/badge/sass-%23646cff?style=plastic)
![](https://img.shields.io/badge/mysql-%23646cff?style=plastic)







- `ProjectIcons` component returns, based on the iteration of the topics array that is contained in data, icons to represent your project. The project tag must be inserted in the topics field of your repository. Check the [Project Icons](https://github-automated-repos.vercel.app/documentation/projectIcons) tab!

```jsx
data.map((item) => {
return (
...
{item.topics.map((icon, index) => {
return (

}
...

```

- #### Render component ProjectIcons example:



![212284904-0b4f29fa-4141-4212-b516-d4e4fcdb8519](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/23330d16-2bd9-4425-ae2c-f0df7f05ea9d)
![212984732-79dd44aa-23a5-4b83-ae28-7a2ddd443032](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/4d40d997-0b89-4056-8079-18ca8a57e162)
![212991791-588a6c13-795e-47aa-b496-8bdbaa3cac30](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/81ee9f8b-034d-4557-908d-edd7852b83aa)
![212994060-8d1644c7-96d7-4f3b-8e94-65ff76db0c92 (2)](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/77c65908-6659-4db9-a69d-3d5c586278d3)
![212984565-a424b06e-db5e-464a-a5df-ddf7c9bab6ad](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/fb165880-119a-4511-9d6d-8d03d5d72cb7)
![213131421-fa77f07c-9120-4b40-859d-2bd799de6681](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/5ab694c4-18f0-4312-bd75-5996c123fe76)







## Fill in the fields in the github repository

- `banner`: This property returns a .PNG image. For this to be possible, the correct name must be entered in the file called `banner.png` and also the path. Ex.:
```
└── src
└── assets
└── imgs
└── `banner.png`
├── ...
```


dashgo_layout
dashfincaneiro_layout
proffy_layout

- `id`: repository identification number. Used as parameter in the key tag. ( *This field does not need to be filled in.* )
- `html_url`: repository link. Used as the link of access. ( *This field does not need to be filled in.* )
- `homepage`: it's the access link to the built page, page deploy. About / Website of your GitHub.


homepage_Props


- `topics`: array that brings information about the icons in [Project Icons](https://github-automated-repos.vercel.app/documentation/projectIcons) and [Stack Icons](https://github-automated-repos.vercel.app/documentation/stackIcons). Used in both ProjectIcon, StackLabels e StackIcon components. It is in this field that is passed the key configured in the hook. Refers to the field About / Topics of your GitHub.


topics_Props


- `name`: This is the name of the repository. Refers to the field Settings / General / Repository name of your GitHub.


name_Props


- `description`: This is the description given to your repository. Refers to the About /Description field of your GitHub.


description_Props




## Code Example

> [!CAUTION]
> :exclamation::exclamation: Don't forget to fill in the fields: your GitHubUsername and keyWord (determined by you).

```javascript
const data = useGitHubAutomatedRepos("GitHubUsername", "KeyWord");
```

#### Javascript Javascript

```jsx
import './App.css';
import { useGitHubAutomatedRepos, ProjectIcons, StackIcons, StackLabels } from 'github-automated-repos';
function App() {
{/*useGitHubAutomatedRepos hook*/ }
const data = useGitHubAutomatedRepos("GitHubUsername", "KeyWord");

return (


{
data.map((item) => {
return (

{/*Banner / Layout / Logo*/}

{/*Project Icons*/}
{item.topics.map((icon) => {
return (

)
})}

{/*html Url*/}

{/*Name Project*/}

{item.name}


{/*Description*/}

{item.description}



{/*Homepage*/}

Homepage


{/*Stacks Icon and Stacks Label*/}
{item.topics.map((icon, index) => {
return (





)
})}

)
})
}


);

}
export default App;
```




## NextJS Framework Settings.



```
└── My-app
├── ...
├── next.config.js
├── ...
```

``` javascript
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: true,
transpilePackages: ['github-automated-repos'],
}

module.exports = nextConfig
```

---

**Love github-automated-repos? Give our repo a star ⭐ ⬆️.**

`based in:` [Api Github](https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#get-a-repository)

`by`: [@digoarthur](https://www.linkedin.com/in/digoarthur/)