Platform Overview
CROP architecture and how the pieces fit together
Platform Overview
CROP is a parts lookup platform built as a microservices ecosystem. Here's how the main components connect:
Architecture
┌─────────────────────────────────────────────────────────┐
│ Clients │
│ CROP Front (Next.js) │ Admin Panel │ CROP Form │
└────────────┬────────────┴───────┬───────┴───────┬───────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────┐
│ Cloudflare / Vercel │
│ (CDN, DNS, Edge Functions) │
└────────────┬────────────────────┬───────────────────────┘
│ │
▼ ▼
┌──────────────────────┐ ┌──────────────────────┐
│ Parts Services │ │ Delivery Services │
│ (GCP Cloud Run) │ │ (GCP Cloud Run) │
│ │ │ │
│ ├─ Search Service │ │ ├─ UPS Integration │
│ ├─ Catalog Service │ │ └─ Rate Quoting │
│ ├─ Payment Service │ │ │
│ ├─ User Service │ └──────────────────────┘
│ └─ Analytics │
└──────────┬───────────┘
│
▼
┌──────────────────────┐ ┌──────────────────────┐
│ Databases │ │ AI/ML Pipeline │
│ │ │ │
│ ├─ MongoDB Atlas │ │ ├─ PDF Parser │
│ ├─ Typesense │ │ ├─ CLIP/Embeddings │
│ └─ Weaviate │ │ ├─ RAG Pipelines │
│ │ │ └─ Schematics ML │
└──────────────────────┘ └──────────────────────┘Key Flows
Parts Search
- User enters search query in CROP Front
- Request goes to Search Service (Typesense-backed)
- Results include parts data, images, pricing
- Clerk JWT authenticates dealer-specific pricing
Order Flow
- User adds parts to cart
- Payment Service handles Stripe checkout
- Delivery Service quotes shipping via UPS API
- Order confirmation and tracking
Data Ingestion
- PDF Parser extracts parts from manufacturer catalogs
- CLIP service generates image embeddings
- Data flows into MongoDB and Typesense indexes
- Admin panel provides data quality monitoring
Authentication
All services use Clerk for authentication:
- Frontend: Clerk React SDK with JWT tokens
- Backend: JWT verification middleware
- Role-based access:
admin,dealer,user
See Authentication docs for details.