Skip to content

Latest commit

 

History

33 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UpStream — GitHub Contribution Intelligence Platform

UpStream

GitHub Contribution Intelligence Platform
Discover meaningful open-source opportunities, score them against your skills, and track contributions from idea to merge.

Live Demo · Repository

React Node.js MongoDB GitHub OAuth License

Overview

UpStream reduces the friction of finding useful open-source work. It searches GitHub issues using language, label, and activity signals, scores opportunities against user preferences with a rules-based 0–100 matching system, and turns promising issues into a trackable contribution pipeline.

Instead of treating GitHub as a list of disconnected issues, UpStream gives developers a workflow for moving from discovery → evaluation → action → contribution.

Architecture

UpStream architecture

Core flow

GitHub OAuth
    ↓
Personal preferences
    ↓
GitHub issue discovery
    ↓
Rules-based opportunity scoring
    ↓
Save opportunity
    ↓
Track contribution status
    ↓
Dashboard insights

Core Features

Opportunity Discovery

  • Search GitHub issues and repositories
  • Filter by language, label, and activity
  • Surface contribution opportunities from GitHub data

Personalized Matching

  • Rules-based scoring from 0–100
  • Uses developer skill preferences and issue signals
  • Helps prioritize opportunities instead of browsing randomly

Contribution Pipeline

Track opportunities through:

Saved → Exploring → In Progress → PR Opened → Merged

Each saved opportunity can retain status and notes, giving developers a lightweight contribution workspace.

Contribution Dashboard

  • Pipeline overview
  • Saved opportunities
  • Contribution activity
  • User profile and preferences
  • Visual analytics through Recharts

Tech Stack

Layer Technology
Frontend React 18, Vite, Tailwind CSS
Data fetching TanStack Query
Visualization Recharts
Backend Node.js, Express
Authentication GitHub OAuth, Passport.js, JWT
Database MongoDB, Mongoose
External data GitHub API

Getting Started

Prerequisites

  • Node.js 18+
  • MongoDB
  • GitHub OAuth App credentials

1. Configure GitHub OAuth

Create an OAuth App from GitHub → Settings → Developer settings → OAuth Apps.

For local development:

Homepage URL:
http://localhost:5173

Authorization callback URL:
http://localhost:5000/auth/github/callback

2. Configure environment variables

# Server
cp server/.env.example server/.env

# Client
cp client/.env.example client/.env

Configure the required GitHub OAuth, JWT, MongoDB, and client environment values.

3. Install dependencies

npm run install:all

4. Start the application

Backend:

npm run dev:server

Frontend:

npm run dev:client

Open http://localhost:5173.

Project Structure

client/
└── src/
    ├── api/           # API and query functions
    ├── components/    # Reusable UI components
    ├── context/       # Authentication context
    ├── pages/         # Route-level views
    └── utils/         # Client utilities

server/
├── config/            # Database, Passport and cache configuration
├── controllers/       # Request handlers
├── middleware/        # Express middleware
├── models/            # Mongoose models
├── routes/            # API routes
├── services/          # GitHub integration and scoring logic
└── utils/             # Supporting server utilities

API Surface

Area Endpoints
Authentication /auth/github, /auth/me
Issues /api/issues/search, /api/issues/:owner/:repo/:num
Repositories /api/repos/search
Saved opportunities /api/saved-items
Dashboard /api/dashboard/summary
Profile /api/profile, /api/profile/preferences

Live Demo

github-contribution-radar.vercel.app

License

MIT


Built to make open-source contribution discovery more intentional.

About

AI-powered GitHub contribution discovery and open source tracking platform.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages