https://github.com/ivanms1/github-app
A github app to explore repositories
https://github.com/ivanms1/github-app
apollo github graphql nextjs react
Last synced: 2 months ago
JSON representation
A github app to explore repositories
- Host: GitHub
- URL: https://github.com/ivanms1/github-app
- Owner: ivanms1
- Created: 2022-06-30T08:57:58.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-11-01T07:38:32.000Z (over 3 years ago)
- Last Synced: 2025-01-24T18:49:09.555Z (over 1 year ago)
- Topics: apollo, github, graphql, nextjs, react
- Language: TypeScript
- Homepage: https://github-app-topaz.vercel.app
- Size: 1.47 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Github App
## Description
App where you can search repositories and filter them by language and updated date. Also you can check your starred repositories.
## Technology stack
- [React.js](https://reactjs.org/)
- [Next.js](https://nextjs.org/)
- [GraphQL](https://graphql.org/)
- [Apollo Client](https://www.apollographql.com/docs/react/)
- [Next Auth](https://next-auth.js.org/)
- [GraphQL Code Generator](https://www.graphql-code-generator.com/)
- [Mantine](https://mantine.dev/)
- [React Hook Form](https://react-hook-form.com/)
- [Zustand](https://github.com/pmndrs/zustand)
- [Framer Motion](https://www.framer.com/motion/)
## Requirements
- **Yarn**
This repository uses [Yarn](https://classic.yarnpkg.com/lang/en/) as a package manager.
- **Github OAuth**
Github is being used as an auth provider, you will need to [create an OAuth](https://docs.github.com/en/developers/apps/building-oauth-apps/creating-an-oauth-app) app on your github account with these settings:

- **Enviroment Variables**
```
GITHUB_CLIENT_ID="your oatuh github client id"
GITHUB_CLIENT_SECRET="your oatuh github client secret"
JWT_SECRET="some random string, only for development"
NEXTAUTH_URL="http://localhost:3000"
NEXT_PUBLIC_SERVER_URL="http://localhost:8080/graphql"
```
## Running the app
- Install dependencies
```
yarn
```
- Start the app
```
yarn dev
```
## Generating graphql hooks
- Scan for graphql files and automatically generate apollo hooks
```
yarn generate
```
## Testing
- Run tests
```
yarn test
```