Skip to content

krishn404/RepOSS

Repository files navigation

reposs

reposs - Discover Open Source

License: MIT Vercel GitHub Repo Sponsor This

reposs makes open source discovery easy and quick. It's a modern web application that helps developers, students, and teams discover, explore, and track open-source GitHub repositories. Built with a focus on clarity and speed, reposs layers powerful search, filters, and curated views on top of GitHub's data so you can find projects that match your interests and skills.

Features

Core Functionality

  • 🔍 Advanced Search & Filtering: Search repositories by name, filter by programming language (JavaScript, Python, TypeScript, Go, Rust, Java, C++, PHP, and more), and set minimum star thresholds
  • 📊 Multiple Views:
    • Home: Clean starting point for filtered search and exploration
    • Trending: Discover fast-growing repositories over different time ranges (daily, monthly, yearly)
    • Staff Picked: Curated selection of high-quality repositories handpicked by the team
    • Discover: Explore recently active repositories to find maintainers who are still engaged
  • ⭐ Smart Sorting: Sort repositories by stars, forks, or recent activity to find the most relevant projects
  • 🔖 Bookmarks: Save repositories for later. Works seamlessly for both guest users (local storage) and authenticated users (cloud sync)
  • 👥 Authentication: Optional GitHub authentication unlocks personalized experiences and cloud bookmark sync

Admin Features

  • 🛡️ Admin Panel: Manage staff picks with custom badges and notes
  • 🏷️ Badge System: Categorize staff picks with predefined badges (Startup, Bug Bounty, GSSoC, AI, DevTools) or custom labels
  • 📈 Analytics Dashboard: Track staff picks, badges, and repository statistics

User Experience

  • 🎨 Modern UI: Clean, intuitive interface built with Radix UI and Tailwind CSS
  • 🌙 Dark Theme: Beautiful dark theme optimized for extended browsing sessions
  • ⚡ Fast Performance: Optimized queries and caching for quick repository discovery
  • 📱 Responsive Design: Works seamlessly across desktop, tablet, and mobile devices

Tech Stack

Frontend

Backend & Data

  • Database: Convex for real-time data and bookmarks
  • Authentication: NextAuth.js with GitHub OAuth
  • GitHub Integration: Octokit with retry and throttling plugins
  • Caching: Built-in caching layer for repository data

Deployment & Analytics

Getting Started

To get a local copy up and running, follow these simple steps.

Prerequisites

Installation

  1. Clone the repo

    git clone https://github.com/krishn404/reposs.git
  2. Navigate to the project directory

    cd reposs
  3. Install dependencies

    pnpm install
  4. Set up environment variables

    Create a .env.local file in the root of the project with the following variables:

    # NextAuth.js
    NEXTAUTH_URL=http://localhost:3000
    NEXTAUTH_SECRET=your-nextauth-secret-here
    
    # GitHub OAuth (for authentication)
    GITHUB_CLIENT_ID=your-github-client-id
    GITHUB_CLIENT_SECRET=your-github-client-secret
    
    # Convex (for database and bookmarks)
    CONVEX_DEPLOYMENT=your-convex-deployment-url
    NEXT_PUBLIC_CONVEX_URL=your-convex-url
    
    # Optional: Google Analytics
    NEXT_PUBLIC_GOOGLE_TAG_ID=your-ga-id

    You'll need to:

  5. Run the development server

    pnpm dev

What's Next

I'm currently focusing on:

  • 🔍 Enhanced Search: Improved search algorithms and better relevance ranking
  • 📊 Contribution Insights: Track your contributions and get personalized recommendations
  • 💾 Saved Views: Save and share custom filter combinations for quick access
  • 🔔 Notifications: Get notified when bookmarked repositories have new releases or activity
  • 📈 Repository Analytics: Deeper insights into repository health, activity trends, and contributor patterns
  • 🌐 Social Features: Share discoveries and collaborate with teams
  • ⚡ Performance: Further optimizations for faster load times and smoother interactions

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published