Giter VIP home page Giter VIP logo

github-org-explorer's Introduction

GitHub Org Explorer

This package is my attempt solve a couple of my personal pain points in using GitHub Classroom and GitHub Classroom Assistant.

After you log in, select an organzation.

You can then use the regex filter to select a subset of the repos in the organzation after which you can either:

  1. Export - this will export the selected repos.
  2. Delete - delete the selected repos.

Here's a video walkthrough Video Link

This project is for my personal use so it doesn't do much error checking or reporting but it's working pretty well for me.

Install notes for oauth:

  1. Go to settings from dropdown menu on right
  2. Develeopr settings from left menu
  3. OAuth apops from left menu
  4. New Oauth Appl (right hand side)
  5. name any url description https:/localhost
  6. Copy Client ID and client secret into the strings in src/app/main/keys.cljs

Notes

When deleting, it takes a bit of time for the API to update. Right now, this doesn't happen automatically. You should periodically hit the refresh button to see the updates.

Likewise, it takes a bit of time to load a large organization - please be patient.

How to Run

I had to upgrade my version of node to get this all working. I use nvm so used nvm install node to accomplish this. Then I did the rest:


npm install electron -g
npm install shadow-cljs -g
npm install

npm run dev
electron .

Release

If you haven't already isntalled it, install electron-packager:

npm install electron-packager -g
npm run build
electron-packager . GitHub-Org-Explorer --platform=linux --arch=x64 --electron-version=v8.0.1

You should replace the v8.0.1 electron version with whatever you built and are running this under. Check by running electron --version.

The above will build for linux. Other platform options include:

  • darwin
  • linux
  • mas
  • win32
  • all

Use all to build all for all platforms

Arch can be ia32, x63, armv7l, arm64, or mips64el

The directories created by electorn-packager contain the full release - you can run or install from there.

You can always run the application from this directory after building via electron .

More notes

I used the starter code from https://github.com/ahonn/shadow-electron-starter

github-org-explorer's People

Contributors

zamansky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

github-org-explorer's Issues

Basic authentication is deprecated?

Hello!
I tried using the app and it worked great! I was able to build it, run the .EXE for my platform (Win/x64) and see the list of the repos in the org for my class.

Afterwards I got an email from GitHub saying the following:
========EMAIL STARTS HERE===============================
Hi @MikePanitz-CCC,

You recently used a password to access an endpoint through the GitHub API using Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) shadow-electorn-starter/1.0.0 Chrome/66.0.3359.181 Electron/3.0.16 Safari/537.36. We will deprecate basic authentication using password to this endpoint soon:

https://api.github.com/user/orgs

We recommend using a personal access token (PAT) with the appropriate scope to access this endpoint instead. Visit https://github.com/settings/tokens for more information.

Thanks,
The GitHub Team
========EMAIL ENDS HERE===============================

I figured that I'd let you know just so that if they disable the basic auth then your Awesome App won't abruptly stop working :)

Client ID/Secret

It's probably not a great idea to have your client secret in the Git repo. You might want to reset your credentials and find a different way to set the GitHub API credentials from an environment variable or something like that.

Can't build on Windows

Hello!
I tried this successfully on Windows 10 previously but can't get it to build now. I don't remember what I did differently last time, sadly
I'm running node 13.9.0 (which appears to be the most current version available)

I get as far as the command npm install and then I get the following output:

npm WARN [email protected] No repository field.

npm ERR! code ENOENT
npm ERR! syscall rename
npm ERR! path C:\MikesStuff\Pers\Dropbox\Personal\Tech\GHO\github-org-explorer\node_modules\bn.js
npm ERR! dest C:\MikesStuff\Pers\Dropbox\Personal\Tech\GHO\github-org-explorer\node_modules\.bn.js.DELETE
npm ERR! errno -4058
npm ERR! enoent ENOENT: no such file or directory, rename 'C:\MikesStuff\Pers\Dropbox\Personal\Tech\GHO\github-org-explorer\node_modules\bn.js' -> 'C:\MikesStuff\Pers\Dropbox\Personal\Tech\GHO\github-org-explorer\node_modules\.bn.js.DELETE'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\michp\AppData\Roaming\npm-cache\_logs\2020-02-20T04_16_47_263Z-debug.log

I can provide the complete log, if that helps.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.