# WebAppDev **Repository Path**: plurato/web-app-dev ## Basic Information - **Project Name**: WebAppDev - **Description**: 互联网开发课程项目仓库 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-18 - **Last Updated**: 2025-12-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WebAppDev 本项目是一个完整的软件应用示例,包含 **用户登录/注册、个人信息维护、AI 助手列表、调用 DeepSeek API 与 LLM 对话** 等功能;提供 **前端(Vue)+ 后端(Spring Boot)+ 数据库(MySQL)** 的 Docker 容器化与一键部署脚本,用户无需在本地安装 Maven/Node 等环境即可运行。 ## 功能概览 - **账号体系**:注册、登录、JWT 鉴权 - **个人信息**:用户资料读取与更新 - **AI 助手**:应用/助手列表展示(初始化内置示例数据) - **AI 对话**:通过后端转发调用 DeepSeek API - **管理员能力**:管理员账号自动初始化(默认 `admin/123456`) ## 技术栈 - **前端**:Vue 3 + Vite + Pinia + Element Plus + TailwindCSS - **后端**:Spring Boot 3(Java 17)+ MyBatis + JWT - **数据库**:MySQL 8 - **部署**:Docker / Docker Compose(多阶段构建) ## 快速开始(Docker 一键部署) > 仅需安装 Docker(Docker Desktop 或 Docker Engine)。无需本地 Maven / Node。 ### Linux / macOS 在项目根目录执行: ```bash ./deploy.sh ``` ### Windows(PowerShell) 在项目根目录执行: ```powershell .\deploy.ps1 ``` 也可以双击运行: ```text deploy.bat ``` ### 访问地址 - **前端**:`http://localhost:8088` - **后端**:`http://localhost:8080` ## 默认账号 - **管理员**:用户名 `admin`,密码 `123456` 说明: - 管理员账号由后端启动时自动创建/修复 ## 环境变量(可选/必备) 你可以在启动前设置以下环境变量(脚本会透传给容器): - **`DEEPSEEK_API_KEY`(必备)**:用于 AI 对话功能;未设置时,调用对话接口会报“未配置”。 - **`JWT_SECRET`(可选)**:JWT 签名密钥。若不设置: - `deploy.sh` / `deploy.ps1` 会自动生成并注入 - 不建议用 `docker compose up` 直接启动(可能导致后端因缺少密钥无法启动) - **数据库相关(可选)**: - `MYSQL_ROOT_PASSWORD`(默认 `root123456`) - `MYSQL_DATABASE`(默认 `demo_db`) - `MYSQL_USER`(默认 `demo_user`) - `MYSQL_PASSWORD`(默认 `demo_pass_123`) ## 数据初始化 首次启动时 MySQL 会自动执行 `demo/sql/docker-init/` 下的脚本,完成: - users 表创建 - t_app 表创建 - 内置 AI 助手数据插入 部署脚本还会自动处理一次历史原因导致的中文乱码问题(仅在检测到异常数据时修复)。 ## 目录结构(简要) - `vue-project/`:前端工程(Dockerfile + Nginx 反向代理 `/api`) - `demo/`:后端工程(Spring Boot) - `demo/sql/docker-init/`:MySQL 初始化脚本 - `docker-compose.yml`:一键编排(MySQL + 后端 + 前端) - `deploy.sh` / `deploy.ps1`:一键部署脚本