Skip to content

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

家谱管理课程项目

技术栈

  • 后端:Django + Django REST Framework + MySQL 8.0
  • 前端:Vue 3 + Vite + Element Plus + Pinia + Vue Router
  • 数据层:SQL 脚本、CSV 导入导出说明、大规模测试数据生成脚本

目录结构

  • backend/:Django 项目与 REST API
  • frontend/:Vue 前端项目骨架
  • database/:建表脚本、查询脚本、导入导出脚本、性能实验材料
  • scripts/:测试数据生成脚本

快速开始

1. 前置环境

请先安装以下工具:

  • Python 3.12.x
  • Node.jsnpm
  • Docker Desktop

推荐的本地开发方式:

  • 使用 Docker 运行 MySQL 8.0
  • 在本机运行 Django
  • 在本机运行 Vue/Vite

2. 使用 Docker 启动 MySQL

docker compose up -d

后端默认使用的数据库连接参数如下:

  • 主机:127.0.0.1
  • 端口:3307
  • 用户名:root
  • 密码:root

3. 配置并启动后端

先创建虚拟环境并安装依赖:

cd backend
python -m venv .venv
.\.venv\Scripts\activate

安装依赖:

pip install -r requirements.txt

启动 Django 之前,请先配置以下环境变量:

DJANGO_SECRET_KEY=dev-secret-key
DJANGO_DEBUG=1
DJANGO_ALLOWED_HOSTS=127.0.0.1,localhost

MYSQL_DATABASE=family_tree
MYSQL_USER=root
MYSQL_PASSWORD=root
MYSQL_HOST=127.0.0.1
MYSQL_PORT=3307

然后执行:

python manage.py migrate
python manage.py runserver

后端默认地址:

  • http://127.0.0.1:8000

4. 配置并启动前端

cd frontend

安装前端依赖:

npm install

确认 frontend/.env.development 中包含:

VITE_API_BASE_URL=http://127.0.0.1:8000/api

启动开发服务器:

npm run dev

前端默认地址:

  • http://127.0.0.1:5173

5. 推荐启动顺序

建议按以下顺序启动:

  1. docker compose up -d
  2. 进入 backend 启动 Django
  3. 进入 frontend 启动 Vite

6. 生成大规模测试数据

在项目根目录执行:

python scripts/generate_dataset.py

生成后的 CSV 文件会输出到:

  • scripts/generated/

7. sql执行

mysql客户端连接docker mysql

mysql --local-infile=1 -h 127.0.0.1 -P 3307 -u root -p family_tree

导入导出

SOURCE D:/KikiioFiles/program/family_tree/database/import_export.sql;

7. 说明

  • 修改任何 frontend/.env.* 文件后,都需要重启 Vite 开发服务器。
  • 前端的 API 地址通过 VITE_API_BASE_URL 读取。
  • 如果 MySQL 是空库,请先导入 database/schema.sql
  • 课程要求的 SQL 材料已经放在 database/ 目录下。
  • 本项目仅面向本地开发与本地演示使用。

备注

  • 当前工作区在最初实现时没有安装 Django 和 DRF,因此当时没有完成本地运行级联调。
  • 数据库课程要求的 SQL 交付材料已经放在 database/ 目录中。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages