Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/johndev19/github-skill-matrix

This API generates a skill matrix in SVG format based on a GitHub user’s repositories.
https://github.com/johndev19/github-skill-matrix

api github javascript node-js readme-md skill-matrix skills

Last synced: 17 days ago
JSON representation

This API generates a skill matrix in SVG format based on a GitHub user’s repositories.

Awesome Lists containing this project

README

        

# GitHub Skill Matrix API

This API generates a skill matrix in SVG format based on a GitHub user's repositories. The matrix displays programming languages used by the user, with skill levels calculated from the number of repositories in each language.

## Demo

Below are examples of each theme:

### Available Themes

- **Light Theme**

Light Theme

- **Dark Theme**

Dark Theme

- **Vibrant Theme**

Vibrant Theme

- **Neon Theme**

Neon Theme

- **Futuristic Theme**

Futuristic Theme

- **Pastel Theme**

Pastel Theme

- **Retro Theme**

Retro Theme

- **Nature Theme**

Nature Theme

- **Warm Theme**

Warm Theme

- **Cool Theme**

Cool Theme

- **Starry Night Theme**

Starry Night Theme

- **Cyberpunk Theme**

Cyberpunk Theme

- **Ocean Theme**

Ocean Theme

- **Hacker Theme**

Hacker Theme

- **Twilight Theme**

Twilight Theme

- **Autumn Theme**

Autumn Theme

- **Ice Theme**

Ice Theme

- **Galaxy Theme**

Galaxy Theme

- **Monochrome Theme**

Monochrome Theme

---

## Usage

### API Endpoints

#### Get Skill Matrix

- **Endpoint**: `/api/skills/:username/:theme?`
- **Method**: `GET`
- **Description**: Generates an SVG skill matrix for a specified GitHub username with an optional theme.

- **Parameters**:
- `username` (required): The GitHub username.
- `theme` (optional): Theme for the SVG. Options include:
- `light`, `dark`, `vibrant`, `neon`, `futuristic`, `pastel`, `retro`, `nature`, `warm`, `cool`

- **Example Request**:

```bash
curl https://github-skill-matrix.onrender.com/api/skills/JohnDev19/cool
```

- **Example Response**:
The endpoint returns an SVG image based on the user’s repositories and selected theme. This SVG includes each language used by the user, along with a visual skill level indicator based on the number of repositories in each language.

### Installation & Setup

1. Clone the repository:

```bash
git clone https://github.com/JohnDev19/GitHub-Skill-Matrix.git
cd GitHub-Skill-Matrix
```

2. Install dependencies:

```bash
npm install
```

3. Create a `.env` file in the root directory and add your environment variables:

```plaintext
PORT=3000
```

4. Start the server:

```bash
node index.js
```

5. The API will be available at `http://localhost:3000`.

### Configuration

- **PORT**: Set the port in `.env`. The default is `3000` if not specified.

---

## Contributing

Contributions to add more themes or enhance the functionality are welcome. Please create a pull request or submit an issue for new ideas or bug reports.

---

## License

This project is licensed under the MIT [LICENSE](LICENSE).