Contribution Hub is a platform designed to help developers discover open source projects that match their field of interest and tech stack. Whether you're a beginner looking for your first contribution or an experienced developer seeking new challenges, Contribution Hub connects you with projects that align with your skills and interests.
- 🔍 Smart Project Discovery: Find projects based on your preferred technologies and interests
- 📊 Tech Stack Matching: Get recommendations tailored to your skill set
- 🎯 Interest-Based Filtering: Discover projects in domains you're passionate about
- 🚀 Beginner-Friendly: Easy-to-use interface for developers of all levels
- Docker and Docker Compose installed
- Docker running in the background
-
Clone the repository
git clone https://github.com/AbhayTopno/Contribution-Hub.git cd contribution-hub -
Environment Configuration
Backend Setup:
cd backend cp .env.example .envEdit
.envwith your values:GITHUB_TOKEN: GitHub personal access tokenGOOGLE_CSE_API_KEY: Google Custom Search Engine API keyGOOGLE_CSE_ID: Google Custom Search Engine ID
Frontend Setup:
cd frontend cp .env.example .env -
Start the Application
docker compose up --build -d
✅ Ensure all services show "Healthy" status (backend, frontend, container_backend, container_frontend, container_db).
-
Database Setup
# Run database migrations docker exec -it backend python manage.py migrate # Fetch GSoC organizations data docker exec -it backend python manage.py fetch_gsoc_orgs # Fetch GitHub URLs docker exec -it backend python manage.py fetch_github_url --limit 105
Note: The Google Custom Search Engine API has a daily limit of 100-105 requests. You may need to create additional API keys and CSE IDs to scrape remaining GitHub URLs if you exceed this limit.
-
Access the Application
- Frontend:
http://localhost:3000 - Backend API:
http://localhost:8000
- Frontend:
- Go to GitHub Settings → Developer settings → Personal access tokens
- Generate a new token with repository access permissions
- Add to your
.envfile
- Visit Google Custom Search Engine
- Create a new search engine
- Get your API key from Google Cloud Console
- Add both API key and CSE ID to your
.envfile
- Never commit
.envfiles to version control - Use strong passwords and rotate API keys regularly
- Generate a new
SECRET_KEYfor production environments
We welcome contributions! Please feel free to submit issues and enhancement requests.
If you encounter any issues during setup, please check that:
- Docker is running properly
- All environment variables are correctly set
- Required API keys have appropriate permissions