A decentralized platform that connects companies with developers through code challenges and bounties. Companies post coding challenges, and developers submit solutions via GitHub repositories to earn cryptocurrency bounties.
- Post Bounties: Create coding challenges with specific requirements and bounty amounts
- Review Submissions: Evaluate developer submissions and select winners
- Manage Bounties: Track active bounties and their status
- Secure Payments: Pay winners directly through cryptocurrency wallets
- Browse Bounties: Discover coding challenges from various companies
- Submit Solutions: Upload GitHub repositories with your solutions
- Track Submissions: Monitor the status of your submissions
- Get Paid: Receive cryptocurrency payments for winning solutions
- Frontend: React + TypeScript + Vite
- Authentication: Firebase Auth
- Database: Firebase Firestore
- Styling: Tailwind CSS
- UI Components: Custom components with shadcn/ui
- Deployment: Firebase Hosting
src/
├── components/ # Reusable UI components
│ ├── common/ # Common components (LoadingIndicator, etc.)
│ └── ui/ # UI components (avatar, dropdown, select)
├── context/ # React context providers
├── definitions/ # TypeScript type definitions
├── hooks/ # Custom React hooks
├── layout/ # Layout components
├── routes/ # Page components
│ ├── auth/ # Authentication pages
│ ├── company-bounties/ # Company bounty management
│ ├── dev-bounties/ # Developer bounty browsing
│ └── submissions/ # Submission management
├── services/ # API services and utilities
└── lib/ # Utility functions
- Node.js (v16 or higher)
- npm or yarn
- Firebase project setup
- Clone the repository
git clone <repository-url>
cd bit-bounty- Install dependencies
npm install- Set up environment variables
cp .env.example .env
# Add your Firebase configuration- Start the development server
npm run devnpm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
- Create a Firebase project
- Enable Authentication and Firestore
- Add your Firebase configuration to
.env - Deploy to Firebase Hosting
- Sign up as a company
- Create coding challenges with requirements
- Set bounty amounts and deadlines
- Review and select winning submissions
- Pay winners through cryptocurrency
- Sign up as a developer
- Browse available bounties
- Submit solutions via GitHub repositories
- Provide wallet address for payments
- Receive payments for winning submissions
- Firebase Authentication for secure user management
- Firestore security rules for data protection
- Cryptocurrency wallet integration for secure payments
- GitHub repository verification for submissions
The application is deployed using Firebase Hosting:
npm run build
firebase deploy- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License.