A modern job board application for finding and solving GitHub issues to get paid in crypto.
- Desktop-optimized design - Clean, professional interface for desktop browsers
- GitHub issue integration - Browse available GitHub issues with bounties
- Expandable job details - Click on any job to see more information
- Status tracking - Visual indicators for Disputed, Engaged, and Open issues
- Filtering system - Filter by status, network, price range, and sort options
- Pagination - Navigate through multiple pages of job listings
- Next.js 15 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first CSS framework
- React 19 - Latest React features
- Node.js 18+ installed
- npm or yarn package manager
- Clone the repository:
cd /Users/n1c0/dev/jobboard
- Install dependencies:
npm install
- Run the development server:
npm run dev
- Open http://localhost:3000 in your browser
jobboard/
├── app/
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ └── page.tsx # Home page
├── components/
│ ├── JobBoardHeader.tsx # Header component
│ ├── JobBoard.tsx # Main job board component
│ └── JobRow.tsx # Individual job row component
├── types/
│ └── job.ts # TypeScript type definitions
└── public/
└── logo.svg # Logo image
- Displays GitHub issues with bounties
- Shows issue title, repository, price, status, and time remaining
- Hover effects for better UX
- Click any job to expand and see additional details:
- Deposit cost
- Label/tags
- Network (Ethereum, Polygon, etc.)
- End date
- Arbitration fee
- Arbitrator information
- Status filter (All, Open, Engaged, Disputed)
- Network selection
- Price range filtering
- Sort options (Newest, Price High/Low, Ending Soon)
- Navigate between pages of results
- Visual indication of current page
- Previous/Next navigation buttons
Replace the mock data in components/JobBoard.tsx
with API calls to your backend:
// Replace mock data with API call
const fetchJobs = async () => {
const response = await fetch('/api/jobs');
const data = await response.json();
return data;
};
- Colors and theme can be customized in
app/globals.css
- Tailwind classes can be modified in component files
- Responsive breakpoints can be added for tablet/mobile support
- Mobile responsive design
- Real-time data updates
- User authentication (NextAuth + GitHub OAuth)
- Advanced filtering and search
- Job application functionality
- Wallet integration for crypto payments
- Email notifications
- User profiles and reputation system
MIT