Initial monorepo scaffold for Duoc Thu RAG medical chatbot
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
# Dược Thư RAG — Medical Chatbot Platform
|
||||
|
||||
Medical chatbot grounded in the Vietnamese National Drug Formulary
|
||||
(Dược thư quốc gia Việt Nam 2018), built as a microservices monorepo.
|
||||
|
||||
See [docs/architecture.md](docs/architecture.md) for the full design
|
||||
(service responsibilities, data stores, RAG ingestion strategy, safety
|
||||
guardrails), [docs/adr](docs/adr) for architecture decision records, and
|
||||
[docs/progress-log.md](docs/progress-log.md) for a running log of what's
|
||||
been done and what's next.
|
||||
|
||||
> **Status**: directory scaffold only — no business logic implemented yet.
|
||||
> See the build roadmap in `docs/architecture.md` for the phased plan.
|
||||
|
||||
## Directory map
|
||||
|
||||
```
|
||||
apps/
|
||||
web/ Next.js frontend
|
||||
ai-service/ Python FastAPI — RAG orchestration + OpenAI calls
|
||||
api-gateway/ NestJS — public entry point, routes to internal services
|
||||
auth-service/ NestJS — signup/login/JWT
|
||||
user-service/ NestJS — profile/preferences
|
||||
chat-service/ NestJS — chat session + message history
|
||||
mobile/ reserved for a future mobile app
|
||||
packages/
|
||||
shared-types/ TS DTOs shared across Node services + web
|
||||
api-client/ typed HTTP client for web
|
||||
ui/ shared React components
|
||||
config/ shared eslint/tsconfig presets
|
||||
ingestion/ offline batch pipeline: PDF -> monographs -> chunks -> embeddings -> Qdrant
|
||||
infra/ docker-compose, k8s/Helm, Terraform, CI
|
||||
docs/ architecture docs and ADRs
|
||||
```
|
||||
|
||||
## Prerequisites (once implementation starts)
|
||||
|
||||
- Node.js + pnpm (JS workspace: `apps/web`, `apps/api-gateway`, `apps/auth-service`,
|
||||
`apps/user-service`, `apps/chat-service`, `packages/*`)
|
||||
- Python 3.11+ (`apps/ai-service`, `ingestion`)
|
||||
- Docker (local Postgres/Qdrant/Redis via `infra/docker/docker-compose.yml`)
|
||||
Reference in New Issue
Block a user