The MongoDB Partner Solutions Library is a public-facing storefront showcasing partner integrations with MongoDB Atlas. It demonstrates production-ready implementations across AI/LLM, event streaming, workflow orchestration, and semantic search categories.
+------------------+
| Solutions |
| Library UI |
| (React/LG) |
+--------+---------+
|
+--------v---------+
| API Gateway |
| (Nginx) |
+--------+---------+
|
+---------------------+---------------------+
| | | | |
+------v--+ +------v--+ +------v--+ +------v--+ ...
|Temporal | |Anthropic| |Cohere | |LangChain|
|Solution | |Solution | |Solution | |Solution |
+---------+ +---------+ +---------+ +---------+
| | | |
+---------------------+---------------------+
|
+--------v---------+
| MongoDB Atlas |
| (Shared Cluster)|
+------------------+
- Framework: React 18 with TypeScript
- Build Tool: Vite
- UI Library: LeafyGreen UI (MongoDB Design System)
- Routing: React Router v6
- Styling: CSS-in-JS with Emotion (LeafyGreen)
- Language: Python 3.11+
- API Frameworks: FastAPI, Flask
- UI Frameworks: Streamlit, Gradio
- Workflow Engine: Temporal (for orchestration solutions)
- Primary: MongoDB Atlas
- Features: Document storage, Vector Search, ACID transactions
- Configuration: Shared cluster with separate databases per solution
- Containerization: Docker
- Orchestration: Docker Compose
- Gateway: Nginx (reverse proxy, routing)
mongodb-solutions-library/
├── apps/
│ └── web/ # Main Solutions Library UI
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── pages/ # Route pages
│ │ ├── data/ # Solution data
│ │ ├── types/ # TypeScript types
│ │ └── utils/ # Utilities
│ ├── Dockerfile
│ └── package.json
│
├── solutions/ # Partner solution configurations
│ ├── temporal-fraud-detection/
│ ├── anthropic-doc-assistant/
│ ├── cohere-semantic-search/
│ ├── langchain-research-agent/
│ ├── confluent-customer360/
│ ├── fireworks-inference/
│ └── togetherai-opensource/
│
├── reference/ # Reference implementations (read-only)
│ ├── maap-temporal-ai-agent-qs/ # Gold standard reference
│ ├── maap-anthropic-qs/
│ ├── maap-cohere-qs/
│ └── ...
│
├── docker/
│ ├── docker-compose.yml
│ └── nginx/
│ └── nginx.conf
│
└── docs/
├── ARCHITECTURE.md
├── ADDING_SOLUTIONS.md
└── DEPLOYMENT.md
Each solution has a solution.json file defining its metadata:
{
"id": "solution-id",
"name": "Solution Display Name",
"partner": {
"name": "Partner Name",
"logo": "/logos/partner.svg",
"website": "https://partner.com"
},
"description": "Short description",
"longDescription": "Detailed description",
"valueProposition": ["Value 1", "Value 2"],
"technologies": ["Tech1", "MongoDB Atlas", "Vector Search"],
"category": "AI/LLM",
"demoUrl": "http://localhost:8505",
"sourceUrl": "https://github.com/...",
"ports": { "api": 8001, "ui": 8505 },
"status": "active"
}- Single repository for easier management
- pnpm workspaces for dependency management
- Clear separation between UI and solutions
reference/folder contains source implementations- Solutions adapt and wrap these references
- Temporal solution used as-is (gold standard)
- Demos open in new browser tabs
- Avoids iframe cross-origin issues
- Simpler user experience
- One cluster, separate databases per solution
- Cost-effective while maintaining isolation
- Each solution manages its own collections
- Single docker-compose.yml for all services
- Environment variables for configuration
- Nginx gateway for routing
solutions-network: Main network for UI and gatewaytemporal-network: Isolated network for Temporal services
| Service | Internal Port | External Port |
|---|---|---|
| Web UI | 3000 | 3000 |
| Gateway | 8080 | 8080 |
| Temporal API | 8000 | 8001 |
| Temporal UI | 8505 | 8505 |
| Temporal Server | 7233 | 7233 |
| Temporal Admin UI | 8080 | 8088 |
- No authentication (public storefront)
- Environment variables for secrets
- MongoDB Atlas IP whitelist required
- API keys stored in
.env(not committed)