A unified GraphQL API that aggregates developer activity from multiple platforms:
- GitHub repositories
- Stack Overflow questions and answers
- Blog posts (from Dev.to or Medium)
- Unified Timeline: Get all your development activity across platforms in one chronological feed
- Powerful Filtering: Filter content by technology, tags, or date
- GraphQL API: Fetch only the data you need with a single request
- Caching: Efficient caching to avoid API rate limits
- Error Handling: Robust error handling for API failures
- Node.js (v14 or higher)
- API keys for the platforms you want to integrate
- Clone this repository
- Install dependencies:
npm install- Create a .env file and add your API keys
- Start the server:
npm run devThe GraphQL playground will be available at http://localhost:4000
query {
repositories {
id
name
description
url
stars
forks
languages {
name
percentage
}
}
}query {
stackOverflowQuestions {
id
title
link
score
tags
answered
}
}query {
blogPosts {
id
title
link
publishDate
excerpt
tags
}
}query {
allActivity(limit: 10) {
id
type
title
description
url
date
tags
}
}query {
allActivity(tags: ["JavaScript", "React"]) {
id
title
type
date
}
}├── server.js # Main entry point
├── schema.js # GraphQL schema definition
├── resolvers.js # GraphQL resolvers
├── datasources/ # API integrations
│ ├── githubAPI.js # GitHub API integration
│ ├── stackOverflowAPI.js # Stack Overflow API integration
│ └── blogAPI.js # Blog API integration
├── utils/ # Utility functions
│ ├── cache.js # Memory caching utility
│ └── errorHandler.js # Error handling utilities- Add authentication
- Implement Redis caching for production
- Add pagination for large result sets
- Create a frontend UI to display the data
- Add more data sources (e.g., Twitter, LinkedIn)
MIT