A personal knowledge network builder for connecting words and concepts to construct your semantic world.
WordMesh is a bilingual (Chinese/English) web application that helps users build personal knowledge networks through word connections and semantic associations. It uses a dual-database architecture with PostgreSQL for structured data and Neo4j for graph relationships.
- User Management: Registration, login with JWT authentication
- Knowledge Cards: Add personal definitions and translations to words
- Semantic Network: Connect concepts through word-to-word and sense-to-word associations
- Visual Exploration: Graph-based visualization of knowledge connections (in progress)
| Layer | Technology |
|---|---|
| Backend | Rust + Actix Web + SQLx + neo4rs |
| Frontend | Next.js 16 + React 19 + TypeScript + Tailwind CSS + shadcn/ui |
| Database | PostgreSQL 16 (relational) + Neo4j 5.15 (graph) |
| Auth | JWT (HS256/RS256) + bcrypt password hashing |
WordMesh/
├── WordMesh-backend/ # Rust backend service
│ ├── src/
│ │ ├── controller/ # HTTP interface layer
│ │ ├── service/ # Business logic layer
│ │ ├── repository/ # Data access layer
│ │ ├── domain/ # Domain models
│ │ └── middleware/ # Auth, request tracing
│ └── migrations/ # Database migrations
├── wordmesh-frontend/ # Next.js web application
│ ├── src/
│ │ ├── app/ # App Router pages
│ │ ├── modules/ # Feature modules (word, sense, association)
│ │ ├── components/ # UI components
│ │ ├── shared/ # API client, utilities
│ │ └── hooks/ # Custom React hooks
│ └── public/ # Static assets
├── deployment/ # Docker Compose configurations
└── docs/ # API documentation, design docs
- Docker and Docker Compose
- Rust 1.70+ (for backend development)
- Node.js 20+ (for frontend development)
cd deployment
docker compose up -dThis starts PostgreSQL on port 5432 and Neo4j on ports 7474 (HTTP) and 7687 (Bolt).
cd WordMesh-backend
cargo runBackend API will be available at http://localhost:8080
cd wordmesh-frontend
npm install
npm run devFrontend application will be available at http://localhost:3000
| Service | URL |
|---|---|
| Frontend | http://localhost:3000 |
| Backend API | http://localhost:8080 |
| Neo4j Browser | http://localhost:7474 |
| Health Check | http://localhost:8080/api/v1/health |
curl -X POST http://localhost:8080/api/v1/auth/register \
-H "Content-Type: application/json" \
-d '{"username":"demo_user","password":"demo123456"}'curl -X POST http://localhost:8080/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"demo_user","password":"demo123456"}'All endpoints return a unified response format:
{
"code": 2000,
"message": "OK",
"data": { ... },
"traceId": "uuid",
"timestamp": 1234567890
}- CLAUDE.md - Development guide (architecture, commands, coding standards)
- API Documentation - Complete API reference
- Backend README - Backend architecture details
| Module | Status |
|---|---|
| Authentication | ✅ Complete |
| Word Management | ✅ Complete (API & UI) |
| Associations | ✅ Complete (API & UI) |
| Network Visualization | ✅ Complete (Graph view with force layout) |
WordMesh 是一个双语(中文/英文)Web 应用,帮助用户通过单词连接和语义关联构建个人知识网络。项目采用双数据库架构,PostgreSQL 存储结构化数据,Neo4j 存储图关系。
- 用户管理:注册、登录,JWT 认证
- 知识卡片:为单词添加个人定义和翻译
- 语义网络:通过词-词和义-词关联连接概念
- 可视化探索:基于图形的知识连接可视化(开发中)
| 层级 | 技术 |
|---|---|
| 后端 | Rust + Actix Web + SQLx + neo4rs |
| 前端 | Next.js 16 + React 19 + TypeScript + Tailwind CSS + shadcn/ui |
| 数据库 | PostgreSQL 16(关系型)+ Neo4j 5.15(图数据库) |
| 认证 | JWT (HS256/RS256) + bcrypt 密码哈希 |
- Docker 和 Docker Compose
- Rust 1.70+(后端开发)
- Node.js 20+(前端开发)
cd deployment
docker compose up -d这将启动 PostgreSQL(端口 5432)和 Neo4j(端口 7474 HTTP、7687 Bolt)。
cd WordMesh-backend
cargo run后端 API 将在 http://localhost:8080 运行。
cd wordmesh-frontend
npm install
npm run dev前端应用将运行在 http://localhost:3000。
| 服务 | 地址 |
|---|---|
| 前端应用 | http://localhost:3000 |
| 后端 API | http://localhost:8080 |
| Neo4j 浏览器 | http://localhost:7474 |
| 健康检查 | http://localhost:8080/api/v1/health |
| 模块 | 状态 |
|---|---|
| 身份认证 | ✅ 已完成 |
| 单词管理 | 🔄 开发中 (~60%) |
| 关联管理 | 🔄 开发中 (~40%) |
| 网络可视化 | 🚧 计划中 |
MIT License - see LICENSE for details.