Thanks to visit codestin.com
Credit goes to github.com

Skip to content

kingstondoesit/bounty.new

 
 

Repository files navigation



Vercel OSS Program

bounty.new

A modern bounty platform for developers and creators.

What is bounty.new?

bounty.new connects talented developers with rewarding opportunities through structured bounties. Post tasks, complete challenges, earn rewards.

For Contributors

  • Browse available bounties
  • Submit quality work
  • Get paid for your skills
  • Build your reputation

For Project Owners

  • Post bounty tasks
  • Access skilled developers
  • Get quality work done
  • Pay only for results

Tech Stack

Frontend

  • Next.js 14 with App Router
  • React with TypeScript
  • TailwindCSS
  • shadcn/ui components

Backend

  • Next.js API routes
  • tRPC for type-safe APIs
  • PostgreSQL with Drizzle ORM
  • Better Auth with GitHub OAuth

Development

  • Bun runtime
  • Turborepo monorepo
  • TypeScript throughout

Frontend

  • Blog powered by Marble, Headless CMS.
  • Analytics by Databuddy, 100% Anonymized and Non-invasive.

Quick Start

Prerequisites

  • Bun v1.0+
  • PostgreSQL v14+
  • Node.js v18+

Setup

# Clone and install
git clone https://github.com/ripgrim/bounty.new.git
cd bounty.new
bun install

# Setup database
createdb bounty_new
cp apps/server/.env.example apps/server/.env
cp apps/web/.env.example apps/web/.env

# Configure environment (edit apps/server/.env)
DATABASE_URL="postgresql://username:password@localhost:5432/bounty_new"
BETTER_AUTH_SECRET="your-secret-key"
GITHUB_CLIENT_ID="your-github-client-id"
GITHUB_CLIENT_SECRET="your-github-client-secret"
NEXT_PUBLIC_MARBLE_API_URL="https://api.marblecms.com"
MARBLE_WORKSPACE_KEY="your-workspace-key"

# Initialize database and start
bun db:push
bun dev

Access

Project Structure

bounty.new/
├── apps/
│   ├── web/           # Frontend application
│   │   ├── src/
│   │   │   ├── app/           # App router pages
│   │   │   ├── components/    # UI components
│   │   │   └── lib/           # Utilities and hooks
│   │   └── ...
│   └── server/        # Backend API
│       ├── src/
│       │   ├── app/           # API routes
│       │   ├── db/            # Database schema
│       │   ├── lib/           # Server utilities
│       │   └── routers/       # tRPC routers
│       └── ...
├── packages/          # Shared packages
└── docs/             # Documentation

Available Commands

Development

bun dev              # Start all apps
bun dev:web          # Frontend only
bun dev:server       # Backend only
bun build            # Build for production

Database

bun db:push          # Apply schema changes
bun db:studio        # Open database UI
bun db:generate      # Generate migrations

Quality

bun check-types      # Type checking
bun lint             # Code linting
bun test             # Run tests

Environment Setup

Server (.env)

DATABASE_URL="postgresql://username:password@localhost:5432/bounty_new"
BETTER_AUTH_SECRET="your-secret-key"
BETTER_AUTH_URL="http://localhost:3000"
GITHUB_CLIENT_ID="your-github-client-id"
GITHUB_CLIENT_SECRET="your-github-client-secret"

Web (.env)

NEXT_PUBLIC_API_URL="http://localhost:3000"
NEXT_PUBLIC_APP_URL="http://localhost:3001"

GitHub OAuth Setup

  1. Go to GitHub Developer Settings
  2. Create new OAuth App
  3. Set callback URL: http://localhost:3000/api/auth/callback/github
  4. Copy Client ID and Secret to your .env file

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests: bun test
  5. Submit a pull request

Guidelines

  • Follow TypeScript best practices
  • Write tests for new features
  • Keep components focused
  • Use semantic commits

Deployment

Vercel

  1. Connect GitHub repository
  2. Configure environment variables
  3. Deploy on push to main

Self-hosting

  1. Build: bun build
  2. Setup PostgreSQL
  3. Configure environment
  4. Start: bun start

Links


Ready to earn? Start contributing to bounty.new.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 98.7%
  • Other 1.3%