Skip to content

joshuazeltser/githubScanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ•΅οΈ GitHub Scanner

A full-stack application that displays GitHub repositories and provides detailed metadata per repository, including size, visibility, file count, YAML file contents, and active webhooks.

Built with:

  • Node.js + Apollo Server (GraphQL)
  • React (Vite)
  • GitHub GraphQL & REST APIs

βš™οΈ Requirements

  • Node.js v18+
  • A GitHub Personal Access Token (PAT) with:
    • repo
    • admin:repo_hook
  • Your GitHub username

πŸ“¦ Getting Started

1. Clone the repository

git clone https://github.com/your-username/github-scanner.git
cd github-scanner

2. Configure the backend

Create a .env file in the server directory:

GITHUB_TOKEN=your_personal_access_token
GITHUB_USERNAME=your_github_username

πŸš€ Running the Application

Start the backend (GraphQL API)

cd server
npm install
node index.js

The GraphQL server will be running at:

http://localhost:4000

You can access the GraphQL Playground there for testing queries.


Start the frontend (React client)

In a separate terminal window:

cd client
npm install
npm run dev

Visit the app in your browser:

http://localhost:3000

Ensure the backend is running first so the client can query data.


πŸ“‹ Features

  • πŸ” List all repositories of a GitHub user
  • πŸ“ View:
    • Repository name, size, visibility
    • Total number of files
    • YAML file content (first one found)
    • Active webhooks

πŸ”§ Example GraphQL Queries

List Repositories

query {
  repositories {
    name
    size
    owner
  }
}

Get Repository Details

query {
  repoDetails(owner: "your-username", name: "repo-name") {
      name
      size
      owner
      isPrivate
      numberOfFiles
      ymlContent
      activeWebhooks
  }
}

πŸ“‚ Project Structure

github-scanner/
β”œβ”€β”€ client/        # React frontend
β”‚   └── src/
β”œβ”€β”€ server/        # Node.js GraphQL API
β”‚   β”œβ”€β”€ index.js
β”‚   └── schema.js
β”œβ”€β”€ README.md

About

GitHub Scanner using Apollo Graphql

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published