How no-country-simulation/s10_26_equipo_29 works
OpenBridge helps users discover open-source tools, inspect repository health and integration ideas, and get an AI-generated recommended stack from a business description. Its main user flow runs through the web interface to either the catalog API or the separate AI assistant; ingestion and AI enrichment keep the catalog data available. The README documents the broad cross-part boundaries. Some ingestion, repository, and UI implementation files were not sampled, so their internal connections are shown only where documented or indexed.
Main entry points: app.py Assistant service · App.jsx Web app · assistant.py Stack generation · repos.py Catalog routes
Components 24
Web experience
- Web app
frontend/src/App.jsx - Catalog browser
frontend/src/features/catalog - Tool details
frontend/src/ToolDetail.jsx - Assistant flow
frontend/src/features/assistant/useAssistantFlow.js - Catalog data
frontend/src/data/CatalogProvider.jsx - Catalog HTTP
frontend/src/data/catalogHttp.mjs - Assistant HTTP
frontend/src/data/assistantHttp.mjs
Catalog API
- Catalog routes
backend/app/api/routes/repos.py - Catalog service
backend/app/services/catalog.py - Repository access
backend/app/repositories/repos.py
AI discovery
- Assistant service
ai/service/app.py - Stack generation
ai/assistant.py - Semantic search
ai/search.py - Text embeddings
ai/embeddings.py - LLM provider
ai/llm.py - Catalog enrichment
ai/enrich.py
Catalog ingestion
- GitHub extraction
ingestion/src/extract_github.py - Catalog processing
ingestion/src/transform.py - Catalog loading
ingestion/src/load.py
Shared data contracts
- Repo contract
shared/contracts/repo.py - Assistant contract
shared/contracts/assistant.py
Other components
- Catalog user
- PostgreSQL catalog
- GitHub repositories
Connections 27
- Catalog user → Web app: uses
- Web app → Catalog browser: renders
frontend/src/App.jsx - Web app → Assistant flow: renders
frontend/src/App.jsx - Web app → Tool details: opens
frontend/src/App.jsx - Catalog browser → Catalog data: reads data
frontend/src/features/catalog/useCatalogFilters.js - Catalog data → Catalog HTTP: fetches
frontend/src/data/CatalogProvider.jsx - Catalog HTTP → Catalog routes: HTTP requests
- Tool details → Catalog routes: loads details
- Assistant flow → Assistant HTTP: submits query
frontend/src/features/assistant/useAssistantFlow.js - Assistant HTTP → Assistant service: HTTP request
- Catalog routes → Catalog service: delegates to
backend/app/api/routes/repos.py - Catalog service → Repository access: uses
- Repository access → PostgreSQL catalog: reads
- GitHub repositories → GitHub extraction: provides repositories
- GitHub extraction → Catalog processing: passes data
- Catalog processing → Catalog loading: passes records
- Catalog loading → PostgreSQL catalog: writes
- PostgreSQL catalog → Assistant service: catalog data
- Assistant service → Stack generation: calls
ai/service/app.py - Stack generation → Semantic search: searches candidates
ai/assistant.py - Semantic search → Text embeddings: embeds text
ai/search.py - Stack generation → LLM provider: generates response
ai/assistant.py - Catalog enrichment → PostgreSQL catalog: writes results
- Assistant service → PostgreSQL catalog: reads catalog
ai/service/app.py - Catalog routes → Repo contract: uses schema
- Assistant service → Assistant contract: validates requests
ai/service/app.py - Stack generation → Repo contract: uses repo data