How saqib-nawab/curoxity- works
This repository is a clinical-trial discovery application with account management. The main user journey submits a query, elicits or structures PICOT intent, retrieves and ranks trial evidence, and presents results and trial details. The frontend proxy and authentication flow, plus the backend auth service’s Elasticsearch use, are supported by sampled source. The README is empty; several discovery modules are identified by the tree and retrieval’s description, but their exact orchestration and call relationships were not inspected, so those links are omitted where uncertain.
Main entry points: retrieval.py Trial index · page.tsx Discovery home · route.ts Query proxy · SearchResultCard.tsx Trial result card
Components 22
Trial discovery
- Backend API
backend/api.py - Intent elicitation
backend/intent_elicitation.py - PICOT modeling
backend/PICOT.py - Trial retrieval
backend/retrieval.py - Result reranking
backend/reranker.py - Ranking integration
backend/reranker_integrater.py - Trial index
backend/retrieval.py
User experience
- Discovery home
frontend/app/page.tsx - Query proxy
frontend/app/api/userquery/route.ts - Search results
frontend/app/search-results/page.tsx - Trial result card
frontend/src/components/SearchResultCard.tsx - Trial details
frontend/app/trial-detail/[id]/page.tsx - Trial browsing
frontend/app/trials/page.tsx - Disease trials
frontend/app/trials/[disease]/page.tsx
Authentication
- Sign-up form
frontend/src/components/auth/AuthForm.tsx - Auth state
frontend/src/store/authSlice.ts - Auth routes
frontend/app/api/auth/signin/route.ts
Backend services
- Auth API
backend/auth/router.py - Auth service
backend/auth/service.py - Auth user index
backend/core/es_client.py
Other components
- Trial seeker
- Elasticsearch
Connections 16
- Trial seeker → Discovery home: browses
- Discovery home → Query proxy: submits query
- Query proxy → Backend API: forwards request
- Trial retrieval → Trial index: queries chunks
- Trial index → Elasticsearch: reads
- Search results → Trial result card: renders trials
- Trial result card → Trial details: opens trial
- Trial seeker → Trial browsing: browses trials
- Trial seeker → Disease trials: browses condition
- Trial seeker → Sign-up form: enters credentials
- Sign-up form → Auth state: dispatches auth
- Auth state → Auth routes: requests auth
- Auth routes → Auth API: proxies request
- Auth API → Auth service: invokes service
- Auth service → Auth user index: reads and writes users
- Auth user index → Elasticsearch: connects