This is GiddyHub. GiddyHub is a straightforward and lightweight utilization of the GitHub API. You can use it to log in with GitHub and check out and search through all your repositories.
It has been created as a small challenge in the application process of MVST
If you want to test it right away, go to GiddyHub and sign in with a GitHub account.
Here is a simple step-by-step guide on downloading and locally running GiddyHub.
- You will need to create a GitHub OAuth application and save the
client ID
andclient secret
(To run this web app locally you can not make use of the actual GiddyHub OAuth App. The reason is that I am unable to add multiple OAuth callback URLs making it impossible to work in production and locally on people's devices) - Clone the repository
- Install the packages with
npm install
- Add the file
.env.development
into the./config
directory and fill it out based on the./config/.env.example
file - Run the app with
npm run dev
Then you can open http://localhost:3000 with your browser to see the result.
The test suite was built using Cypress and this is how you run it locally.
- Run the app with
npm run dev
- Open the
cypress.config.ts
in the root folder - Replace the
GITHUB_AUTH_EMAIL
andGITHUB_AUTH_PASSWORD
env variables with the auth credentials you would like to use for testing. Also replace theSEARCH_TERM
with a valid search term to get a result based on the signed in users repositories. - Also make sure to replace the
baseUrl
with the URL your dev server is running on (Can be kept as http://localhost:3000 in most cases). - Now run the test suite with
npm run cypress
- Click on
E2E Testing
- Select
Chrome
and click onStart E2E Testing in Chrome
- Select
Specs
in the sidebar of the newly opened Cypress browser window - Select the
spec.cy.ts
spec and let it run (For the authentication tests to succeed you will have to previously manually authorized GiddyHub access to your GitHub account. Due to the amount of signins you might need to manually click onauthorize app
every once in a while)
Future improvements to GiddyHub could be the ability...
- to view and edit your repository's files,
- to search for repositories not owned by the signed-in user,
- to edit the signed-in user's profile (Name, etc.)