Backend: Docker Hub API Integration for Service Catalog
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 38/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- docker, typescript
Research direction
Start with frontend/src/mockdata.ts to understand the existing data shape, then locate the backend entry point that should expose the proposed /api/dockerhub/info endpoint. Review Docker Hub’s public API requirements, caching, fallback, logging, and error-handling expectations. Done means the backend returns compatible metadata for catalog images without relying on frontend-only static data.
Written by the indexing model from the issue text.
Description
🚀 Feature Request: Docker Hub API Integration for Service Catalog
Is your feature request related to a problem? Please describe.
Currently, the service catalog lacks direct integration with the Docker Hub API, making it difficult to dynamically fetch and display real container image details such as descriptions, pull counts, and tags.
This limits the catalog’s accuracy and forces reliance on static mock data (frontend/src/mockdata.ts), which can easily become outdated.
Describe the solution you'd like
Integrate Docker Hub’s public API into the backend to fetch metadata for images listed in the service catalog.
The backend should expose an endpoint (e.g., /api/dockerhub/info?image=<name>) that:
- Retrieves image metadata (description, pull count, last updated, etc.) from Docker Hub
- Caches responses to optimize performance and reduce rate limit issues
- Returns structured data matching the current mock data schema for easy frontend integration
Describe alternatives you've considered
- Direct frontend calls to Docker Hub API:
Causes CORS issues and may expose API keys or hit rate limits from the client side. - Maintaining static JSON data:
Non-scalable and quickly becomes outdated as Docker Hub data changes.
Use Case
Provides real-time Docker Hub metadata for each service in the catalog (e.g., image name, description, stars, pulls, last updated), enhancing the accuracy and usability of the catalog while maintaining a consistent data model with existing mock data.
Additional context
- Reference: mockdata.ts
- Repository: ComposeGenie GitHub
Implementation Considerations
- ✅ Add caching to minimize repeated API calls and handle Docker Hub rate limits
- ⚠️ Include fallback behavior for unavailable or private images
- 🧩 Ensure response format matches the current mock data structure
- 🪵 Implement logging and error handling for API communication
- 🔐 Consider optional authentication for extended API rate limits (if needed)
- Dominant language
- TypeScript
- Stars
- 4
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from MLSAKIIT/ComposeGenie
-
Backend enhancement Frontend
Difficulty 5/5 Over a week Newbie friendliness 30/100
MLSAKIIT/ComposeGenie#15 ·
-
Backend enhancement Frontend
Difficulty 5/5 Over a week Newbie friendliness 30/100
MLSAKIIT/ComposeGenie#14 ·
-
Frontend
Difficulty 5/5 Over a week Newbie friendliness 25/100
MLSAKIIT/ComposeGenie#8 ·
-
Backend enhancement
Difficulty 4/5 3-5 days Newbie friendliness 45/100
MLSAKIIT/ComposeGenie#6 ·
-
Backend enhancement
Difficulty 4/5 3-5 days Newbie friendliness 42/100
MLSAKIIT/ComposeGenie#5 ·
All issues in MLSAKIIT/ComposeGenie
Similar issues
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 76/100
-
code-quality refactoring
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
vercel/react-tweet#225 ·