Preview of the git-aura user profile interface
Git-Aura is the ultimate developer platform that transforms your hard-earned commits and repositories into a social flex. Show off your coding achievements with beautiful visualizations and compete on leaderboards!
- GitHub Integration: Seamlessly sync your GitHub contributions and repositories
- Aura System: Advanced scoring algorithm based on contributions, streaks, and consistency
- Leaderboards: Compete on monthly and all-time leaderboards
- Badge System: Earn badges for various achievements and milestones
- Profile Cards: Beautiful, shareable profile cards with your stats
- Real-time Updates: Automatic syncing of your GitHub data
- Admin Panel: User management and moderation tools
- Modern UI: Built with Next.js 14, TypeScript, and Tailwind CSS
- Framework: Next.js 14+ with App Router
- Language: TypeScript for type safety
- Database: PostgreSQL with Prisma ORM
- Authentication: Clerk
- Styling: Tailwind CSS with custom components
- Deployment: Optimized for Vercel
- APIs: GitHub API, ImgBB for image uploads
- Node.js 18+
- PostgreSQL database
- GitHub account
- Clerk account for authentication
git clone https://github.com/Anshkaran7/git-aura.git
cd git-aura
npm install
# or
yarn install
# or
pnpm install
Copy the example environment file and configure your variables:
cp .env.example .env.local
Fill in your environment variables (see Environment Variables section below).
# Generate Prisma client
npx prisma generate
# Run database migrations
npx prisma db push
# (Optional) Seed the database
npx prisma db seed
npm run dev
# or
yarn dev
# or
pnpm dev
Open http://localhost:3000 to view your app.
Create a .env.local
file in the root directory with the following variables:
# Database
DATABASE_URL="postgresql://username:password@localhost:5432/gitaura"
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_your_clerk_publishable_key
CLERK_SECRET_KEY=sk_test_your_clerk_secret_key
CLERK_WEBHOOK_SECRET=whsec_your_webhook_secret
# GitHub API (Server-side only)
GITHUB_TOKEN=ghp_your_github_personal_access_token
# Image Upload (Server-side only)
IMGBB_API_KEY=your_imgbb_api_key
# App Configuration
NEXT_PUBLIC_BASE_URL=http://localhost:3000
# Clerk URLs (defaults provided)
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/
- Create a GitHub Personal Access Token:
- Go to GitHub Settings > Developer settings > Personal access tokens
- Generate a new token with
public_repo
anduser:read
scopes - Add it to your
.env.local
asGITHUB_TOKEN
- Create a Clerk application at clerk.com
- Configure your authentication settings
- Set up webhooks for user sync (see WEBHOOK_SETUP.md)
- Create a PostgreSQL database
- Update your
DATABASE_URL
in.env.local
- Run Prisma migrations:
npx prisma db push
- Create an ImgBB account at imgbb.com
- Get your API key from the account settings
- Add it to your
.env.local
asIMGBB_API_KEY
git-aura/
βββ src/
β βββ app/ # Next.js App Router pages
β β βββ api/ # API routes
β β βββ [username]/ # User profile pages
β β βββ admin/ # Admin panel
β βββ components/ # React components
β β βββ ui/ # Reusable UI components
β β βββ leaderboard/ # Leaderboard components
β β βββ home/ # Homepage components
β βββ lib/ # Utility functions and configurations
β βββ types/ # TypeScript type definitions
βββ prisma/ # Database schema and migrations
βββ public/ # Static assets
βββ scripts/ # Utility scripts
- Push your code to GitHub
- Connect your repository to Vercel
- Add your environment variables in Vercel dashboard
- Deploy!
The app is compatible with any platform that supports Next.js:
- Netlify
- Railway
- DigitalOcean App Platform
- AWS Amplify
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Follow TypeScript best practices
- Write meaningful commit messages
- Test your changes thoroughly
- Update documentation as needed
- Environment Setup - Detailed environment configuration
- GitHub API Setup - GitHub integration guide
- Webhook Setup - Clerk webhook configuration
- Badge System - Badge system documentation
- Setup Guide - Complete setup walkthrough
- Missing GitHub data: Ensure your
GITHUB_TOKEN
is set correctly - Database connection errors: Check your
DATABASE_URL
and database status - Authentication issues: Verify your Clerk configuration
- Image upload failures: Confirm your
IMGBB_API_KEY
is valid
- Check the documentation for detailed guides
- Search existing issues
- Create a new issue with detailed information about your problem
This project is open source and available under the MIT License.
- Built with β€οΈ using Next.js and TypeScript
- GitHub API for contribution data
- Clerk for authentication
- All contributors who help improve this project
Ready to show off your coding achievements? Get started with Git Aura today! π