🔍 Discover and analyze repositories that use Scaffold-ETH 2 - an open-source toolkit for building decentralized applications on Ethereum.
This project provides comprehensive tools to find, collect, and analyze projects built with Scaffold-ETH 2, offering insights into the ecosystem's growth and adoption.
- 📈 Repository Statistics: Total count, stars, forks, and growth trends
- 🔍 Advanced Discovery: Multiple methods to find Scaffold-ETH projects
- 🗄️ Database Analytics: PostgreSQL-powered data storage and analysis
- 🌐 Web Interface: Interactive dashboard to explore discovered projects
- 📊 Real-time Data: Live statistics and repository information
Before you begin, you need to install the following tools:
- Node.js (>= v20.18.3)
- Yarn (v1 or v2+)
- Git
- PostgreSQL (for data storage)
- GitHub Personal Access Token (for API access)
git clone https://github.com/damianmarti/se2-projects.git
cd se2-projects
yarn install# Create PostgreSQL database
createdb repositories
# Run the schema setup
psql -d repositories -f packages/scripts/database/repositories.sqlCreate .env files in both packages/nextjs/ and packages/scripts/:
# GitHub API Configuration
GITHUB_TOKEN=your_github_token_here
# Database Configuration
POSTGRES_URL=postgresql://username:password@localhost:5432/repositories# Run data collection scripts (from root folder)
yarn scripts:dependents-api # Find repos via GitHub API
yarn scripts:search-filename # Find repos by filename
yarn scripts:scrape # Scrape GitHub dependents pagecd packages/nextjs
yarn startVisit http://localhost:3000 to see the repository dashboard!
Our scripts use multiple approaches to discover Scaffold-ETH projects:
- Searches package.json, yarn.lock, package-lock.json files
- Finds repositories that depend on Scaffold-ETH packages
- Bypasses GitHub's 1000-result limit through path sharding
- Command:
yarn scripts:dependents-api
- Searches for
scaffold.config.tsfiles across repositories - Uses path and size sharding for comprehensive coverage
- Focuses on Next.js project structures
- Command:
yarn scripts:search-filename
- Scrapes GitHub's "Used by" page for burner-connector
- Uses Puppeteer for comprehensive coverage
- Handles pagination and rate limiting automatically
- Command:
yarn scripts:scrape
The web interface provides:
- 📈 Dashboard: Overview statistics and trends
- 🔍 Repository Browser: Searchable, sortable repository list
- 📊 Analytics: Stars, forks, creation dates, and more
- 🔗 Direct Links: Click to visit repositories and homepages
- 📱 Responsive Design: Works on desktop and mobile
- Scripts Documentation: Detailed setup and usage for data collection scripts
- Database Schema: PostgreSQL table structure and setup
- Scaffold-ETH 2 Docs: Official documentation for building dApps
- Scaffold-ETH Website: Learn more about the framework
packages/
├── nextjs/ # Web interface and dashboard
│ ├── app/ # Pages: / (stats), /repositories (list)
│ ├── app/api/ # API routes for data fetching
│ └── types/ # TypeScript definitions
└── scripts/ # Data collection tools
├── src/ # Collection scripts
│ ├── fetch-dependents-api.ts # GitHub API search
│ ├── search-by-filename.ts # Filename-based search
│ ├── scrape-dependents.ts # Web scraping
│ └── common.ts # Shared utilities
└── database/ # PostgreSQL schema
Run the data collection scripts to see live statistics in the web interface
- Total Repositories: Discovered projects using Scaffold-ETH
- Stars & Forks: Community engagement metrics
- Growth Trends: Recent projects and adoption patterns
- Source Analysis: Breakdown by discovery method
Help us discover more Scaffold-ETH projects! Contributions welcome:
- Run the scripts to collect more data
- Improve discovery methods for better coverage
- Enhance the web interface with new features
- Add new data sources for comprehensive analysis
See CONTRIBUTING.md for detailed guidelines.
MIT License - see LICENSE for details.