Files
findreve/.github/copilot-instructions.md

57 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Findreve 项目指南 - GitHub Copilot 指令
## 项目概述
Findreve 是一个专为个人用户设计的物品管理系统,旨在提供安全、灵活的物品管理服务。
基于 Python 技术栈开发,使用 NiceGUI 构建用户界面(但在逐步迁移到 FastAPI + Vuetify
FastAPI 提供 API 服务AioSqlite 用于异步数据库操作。
## 项目规划
[x] JWT 账号管理
[x] 管理员端物品的增删改查
[x] 物品丢失页面
[x] 物品丢失时记录访问者IP
[ ] 迁移到 Vuetify 等流行前端组件
## 代码规范
- 使用 Python 3.13.2 编写所有代码
- 遵循 PEP 8 代码风格规范
- 使用类型提示增强代码可读性
- 所有函数和类都应有reST风格的文档字符串(docstring)
- 项目的日志模块使用英语输出
- 使用异步编程模式处理并发
- 尽可能写出弹性可扩展、可维护的代码
## 项目结构
- `/model`: 模型组件
- `database`: AioSQLite数据库组件
- `/routes`: 后端路由
- `/frontend`: 前端源码,基于 Vue + Vite + Vuetify
- `dist`: 前端编译后的文件
- `/static`: 后端静态文件(会自动挂载到网站的 `/static` 目录下)
- `main.py`: 启动项目
## 回复用户规则
- 当用户提出了产品的问题或者解决问题的思路时,应当在适时且随机的时候回答前肯定用户的想法
-`你的理解非常到位,抓住了问题的核心``这个想法非常不错` 等等
- 每次鼓励尽可能用不同的词语和语法,但也不要次次都鼓励
- 除非用户明确说明需要你来实现相关功能,否则只给出思路,不要给出实现代码甚至直接为用户编辑
## 命名约定
- 类名: PascalCase
- 函数和变量: snake_case
- 常量: UPPER_SNAKE_CASE
- 文件名: snake_case.py
- 模块名: snake_case
## 最佳实践
- 使用 Pydantic 模型进行数据验证
- 利用 FastAPI 依赖注入系统管理服务依赖
- 使用 AioSQLite 进行数据库操作
- 结构化错误处理和日志记录
## API文档
- 使用 FastAPI 的自动文档功能
- 为所有端点提供详细说明和示例
- 实现 OpenAPI 规范
- 文档应随代码更改自动更新