A modern GitHub repository analyzer built with Next.js, NextAuth.js, and Octokit, powered by Bun.
- 🔒 Secure authentication with GitHub OAuth
- 📊 Repository analysis and statistics
- 🚀 Fast and responsive UI
- ⚡ Optimized for performance with Bun
- 🏗️ TypeScript first-class support
- 🧪 Built-in testing with Bun
- Bun (recommended) or Node.js 18+
- GitHub OAuth App credentials
# Install Bun (if not installed)
curl -fsSL https://bun.sh/install | bash
# Install dependencies
bun install
# Start development server
bun devIf you prefer using Node.js:
# Install dependencies
npm install
# or
yarn
# Start development server
npm run dev
# or
yarn dev-
Create a
.env.localfile in the root directory:cp .env.local.example .env.local
-
Configure the environment variables (see docs/ENVIRONMENT.md for details):
# NextAuth NEXTAUTH_SECRET=your-secret-here NEXTAUTH_URL=http://localhost:3000 # GitHub OAuth GITHUB_CLIENT_ID=your-github-client-id GITHUB_CLIENT_SECRET=your-github-client-secret
-
Install dependencies:
npm install # or yarn
-
Start the development server:
npm run dev # or yarn dev -
Open http://localhost:3000 in your browser.
To test the authentication flow:
- Start the development server
- Navigate to the login page or click the "Sign in with GitHub" button
- Authorize the application with your GitHub account
- You should be redirected back to the application
For automated testing, you can use the test script:
npx tsx scripts/test-auth.ts- Push your code to a GitHub repository
- Import the repository on Vercel
- Add the required environment variables in the Vercel dashboard
- Deploy!
All API routes are protected and require authentication. Include the session token in your requests.
- Unauthenticated: 10 requests per hour
- Authenticated: 100 requests per hour
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Your Name - @yourtwitter - [email protected]
Project Link: https://github.com/yourusername/github.gg