# Simple Template

本项目包含以下模块：

- `backend`：[Agileboot-Back-End](https://github.com/valarchie/AgileBoot-Back-End) 管理后台 API。
- `frontend/web`：[Agileboot-Front-End](https://github.com/valarchie/AgileBoot-Front-End) 管理后台前端。
- `frontend/app`：[Taro](https://docs.taro.zone/docs/) + Vue 3 小程序前端。

本地开发流程通常是先使用 Docker 启动 MySQL 和 Redis，然后在本地启动后端服务，Web 前端或小程序端。

## 环境要求

- JDK 8+
- Docker
- Docker Compose
- Node.js
- pnpm

## Git Hooks

本仓库使用 `.githooks` 作为统一的 Git hooks 入口。

```bash
git config core.hooksPath .githooks
```

## 启动基础服务

启动 MySQL 和 Redis：

```bash
cd backend

# 启动 MySQL 和 Redis
docker compose up -d

# 停止 MySQL 和 Redis
docker compose down

# 使用 -v 参数可以删除数据卷
docker compose down -v
```

Docker Compose 配置会将 `backend/sql/agileboot.sql` 挂载到 MySQL 容器内的 `/docker-entrypoint-initdb.d/01-agileboot.sql`，MySQL 服务启动后会自动创建数据库和执行 `agileboot.sql` 文件。

## 启动项目

启动后端：

```bash
cd backend
./mvnw -pl agileboot-admin spring-boot:run
```

启动 Web 前端：

```bash
cd frontend
pnpm dev:web
```

启动小程序端：

```bash
cd frontend

# 启动微信小程序
pnpm dev:app:weapp

# 启动 h5
pnpm dev:app:h5
```

- 后端：`http://localhost:8080`
- 前端：`http://localhost:80`，用户(admin)，密码(admin123)
- 使用对应的小程序开发者工具打开 `frontend/app` 目录
