🥂(❁´◡`❁)您的点赞👍➕评论📝➕收藏⭐➕关注👀是作者创作的最大动力🤞
💖📕🎉🔥 支持我:点赞👍+收藏⭐️+留言📝+关注👀欢迎留言讨论
我们常常在当下感到时间慢,觉得未来遥远,但一旦回头看,时间已经悄然流逝。对于未来,尽管如此,也应该保持一种从容的态度,相信未来仍有许多可能性等待着我们。
绿植养护管理系统
一个基于 FastAPI 框架的绿植养护管理 Web 系统,包含完整的后端 API 和前端页面,帮助用户管理自己的植物、记录养护操作,并设置提醒。
功能特性
用户系统:注册、登录、JWT 认证
植物管理:添加、查看、更新、删除植物信息
养护记录:记录浇水、施肥、修剪、换盆等操作
养护提醒:设置周期提醒,自动计算下次提醒日期和逾期状态
前端页面:完整的单页应用(SPA),响应式设计,支持移动端
技术栈
语言:Python 3.10+
Web 框架:FastAPI
ORM:SQLAlchemy 2.0
数据库:SQLite(开发环境)/ PostgreSQL(生产环境)
认证:JWT(python-jose + passlib)
数据校验:Pydantic v2
安装与启动
1. 安装依赖
pip install -r requirements.txt2. 启动服务
cd green_plant_manager uvicorn app.main:app --reload服务将在http://127.0.0.1:8000启动。
3. 访问应用
前端页面: http://127.0.0.1:8000/
API 文档: High Performance Web Crawler API - Swagger UI
ReDoc: High Performance Web Crawler API - ReDoc
API 端点
认证
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /api/auth/register | 用户注册 |
| POST | /api/auth/login | 用户登录 |
| GET | /api/users/me | 获取当前用户信息(需认证) |
植物管理
| 方法 | 路径 | 描述 |
|---|---|---|
| GET | /api/plants | 获取我的植物列表(分页) |
| POST | /api/plants | 添加植物 |
| GET | /api/plants/{plant_id} | 获取植物详情 |
| PUT | /api/plants/{plant_id} | 更新植物信息 |
| DELETE | /api/plants/{plant_id} | 删除植物 |
养护记录
| 方法 | 路径 | 描述 |
|---|---|---|
| GET | /api/plants/{plant_id}/records | 获取某植物的养护记录(分页) |
| POST | /api/plants/{plant_id}/records | 添加养护记录 |
| DELETE | /api/records/{record_id} | 删除养护记录 |
养护提醒
| 方法 | 路径 | 描述 |
|---|---|---|
| GET | /api/reminders | 获取我的所有提醒 |
| POST | /api/reminders | 创建提醒 |
| PUT | /api/reminders/{reminder_id} | 更新提醒 |
| POST | /api/reminders/{reminder_id}/done | 标记提醒完成 |
| DELETE | /api/reminders/{reminder_id} | 删除提醒 |
环境变量
| 变量名 | 描述 | 默认值 |
|---|---|---|
DATABASE_URL | 数据库连接 URL | sqlite:///./green_plants.db |
SECRET_KEY | JWT 密钥 | super-secret-key-change-in-production |
项目结构
green_plant_manager/ ├── app/ │ ├── __init__.py │ ├── main.py # FastAPI 应用入口 │ ├── database.py # 数据库配置 │ ├── models.py # SQLAlchemy 模型 │ ├── schemas.py # Pydantic 模型 │ ├── auth.py # JWT 认证模块 │ ├── crud.py # 数据库 CRUD 操作 │ └── routers/ │ ├── __init__.py │ ├── users.py # 用户路由 │ ├── plants.py # 植物路由 │ ├── records.py # 养护记录路由 │ └── reminders.py # 提醒路由 ├── static/ │ └── index.html # 前端单页应用 ├── requirements.txt └── README.md前端页面功能
前端页面采用单页应用(SPA)架构,无需刷新即可切换视图:
登录/注册
用户注册:输入用户名、邮箱、密码
用户登录:使用用户名和密码登录
Token 自动保存在 localStorage
植物管理
列表视图:卡片式展示所有植物,支持分页
添加植物:填写名称、品种、图片URL、购买日期、位置、备注
编辑植物:点击植物卡片上的编辑按钮
删除植物:级联删除相关养护记录和提醒
详情视图:点击植物卡片查看详情和养护记录
养护记录
查看记录:在植物详情页查看该植物的所有养护记录
添加记录:选择操作类型(浇水/施肥/修剪/换盆/其他),填写日期和备注
删除记录:点击记录旁的删除按钮
养护提醒
创建提醒:选择植物、提醒类型、间隔天数
查看提醒:显示下次提醒日期、是否逾期、启用状态
标记完成:点击"完成"按钮更新上次执行日期
启用/禁用:切换提醒的启用状态
删除提醒:点击删除按钮
注意事项
生产环境请更换强 SECRET_KEY
生产环境建议使用 PostgreSQL 数据库
密码使用 bcrypt 哈希存储
所有需要认证的端点都需要在请求头中携带 JWT token
🥂(❁´◡`❁)您的点赞👍➕评论📝➕收藏⭐➕关注👀是作者创作的最大动力🤞
💖📕🎉🔥 支持我:点赞👍+收藏⭐️+留言📝+关注👀欢迎留言讨论