Skip to content

Repository files navigation

Listenly - 英语跟读学习平台

一个功能完整的英语跟读学习平台,采用 Monorepo 架构,包含服务端、管理端和用户端三个应用。

技术栈

技术 端口
服务端 NestJS 10 + Prisma 6 + PostgreSQL 3001
用户端 Next.js 15 + Tailwind CSS + shadcn/ui 3000
管理端 Ant Design Pro 6 + UmiJS 4 3002

项目结构

listenly/
├── apps/
│   ├── server/          # NestJS 服务端
│   ├── client/          # Next.js 用户端
│   └── admin/           # Ant Design Pro 管理端
├── packages/
│   ├── shared/          # 共享类型定义、常量
│   └── utils/           # 共享工具函数
├── docs/                # 项目文档
├── pnpm-workspace.yaml
└── turbo.json

快速开始

前置要求

  • Node.js >= 18
  • pnpm >= 9
  • PostgreSQL 数据库

1. 安装依赖

pnpm install

2. 配置环境变量

复制服务端环境变量配置文件:

cp apps/server/env.example apps/server/.env

编辑 .env 文件,配置数据库连接等信息:

DATABASE_URL="postgresql://postgres:password@localhost:5432/listenly?schema=public"
JWT_SECRET="your-secret-key"

3. 初始化数据库

cd apps/server
pnpm db:push        # 同步数据库结构
pnpm db:seed        # 初始化种子数据

4. 启动开发服务器

启动所有服务:

pnpm dev

或单独启动:

pnpm dev:server    # 启动服务端 (localhost:3001)
pnpm dev:client    # 启动用户端 (localhost:3000)
pnpm dev:admin     # 启动管理端 (localhost:3002)

5. 访问应用

默认账号

  • 管理员: admin@listenly.com / admin123
  • 测试用户: user@listenly.com / user123

功能特性

用户端

  • 多种登录方式: 邮箱/账号密码登录、微信扫码登录(需配置)、短信验证码登录(预留)
  • 书籍浏览: 分类筛选、搜索、收藏
  • 学习模式: 听音跟读、单词拼写、选择题、填空题、听写句子、录音对比
  • 生词本: 收集不熟悉的单词
  • 错词本: 记录答错的单词,强化练习
  • 收藏: 收藏书籍、单词、句子
  • 学习记录: 每日/周/月统计、连续学习天数

管理端

  • 用户管理: 查看用户列表
  • 分类管理: 增删改查、排序
  • 书籍管理: 增删改查、封面上传、上下架
  • 分组管理: 书籍下的分组管理
  • 单词管理: 支持多词性多释义、音频上传
  • 句子管理: 关键词标注、语法说明

API 特性

  • RESTful API 设计
  • JWT 认证
  • Swagger API 文档
  • 完整的数据验证

数据库设计

详见 docs/DEVELOPMENT_PLAN.md

开发命令

# 安装依赖
pnpm install

# 开发模式
pnpm dev

# 构建
pnpm build

# 数据库
cd apps/server
pnpm db:generate   # 生成 Prisma Client
pnpm db:push       # 同步数据库结构
pnpm db:migrate    # 创建迁移
pnpm db:seed       # 初始化种子数据
pnpm db:studio     # 打开 Prisma Studio

部署

服务端

cd apps/server
pnpm build
pnpm start:prod

用户端

cd apps/client
pnpm build
pnpm start

管理端

cd apps/admin
pnpm build
# 将 dist 目录部署到静态服务器

License

MIT

About

英语听说

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages