园艺伴侣应用程序Plant-it

2023-12-27 12:04

本文主要是介绍园艺伴侣应用程序Plant-it,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

什么是 Plant-it ?

Plant-it 是一款园艺伴侣应用程序,可帮助您照顾植物。它不会建议您采取哪些操作,而是旨在记录您正在执行的活动。这是故意的,软件作者坚信,唯一负责知道何时给植物浇水、何时施肥等的人是你(在多个在线资源的帮助下)。Plant-it 可以帮助您记住上次对植物进行处理的时间、您拥有哪些植物、收集植物的照片,并通知您自上次处理植物以来经过的时间。

安装

在群晖上以 Docker 方式安装。

docker-compose.yml

采用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

本文折腾时,前后端镜像 latest 对应的版本为 0.0.17

version: "3"services:backend:image: msdeluise/plant-it-backend:latestcontainer_name: plant-it-backendrestart: unless-stoppedenv_file: backend.env.txtdepends_on:- db- cachevolumes:- "./upload:/upload-dir"ports:- "3096:8080"db:image: mysql:8.0container_name: plant-it-dbrestart: alwaysenv_file: backend.env.txtvolumes:- "./db:/var/lib/mysql"cache:image: rediscontainer_name: plant-it-cacherestart: alwaysfrontend:image: msdeluise/plant-it-frontend:latestcontainer_name: plant-it-frontendenv_file: frontend.env.txtlinks:- backendports:- "3095:3000"

backend.env.txt

将下面的内容保存为 backend.env.txt 文件,这是后端服务的环境变量设置文件

MYSQL_HOST=db
MYSQL_PORT=3306
MYSQL_USERNAME=root
MYSQL_PSW=root
MYSQL_ROOT_PASSWORD=root
MYSQL_DATABASE=bootdbJWT_SECRET=f302ce974585f4d89dfabb2d7e927fcca4be800a5568b0ebb569f91f044773df1bd86c3655f330bab5af059ce678f841909b1d59b755840ef978e78b65da4205
JWT_EXP=1USERS_LIMIT=2 # including the admin account, so <= 0 if undefined, >= 2 if defined
UPLOAD_DIR=/upload-dir
API_PORT=8080CACHE_TTL=86400
CACHE_HOST=cache
CACHE_PORT=6379TRAFLE_KEY=ALLOWED_ORIGINS=*
  • backend.env.txt 文件中主要的几个参数:
    • API_PORT:后端服务的容器端口,不要改;
    • JWT_SECRET :可以用 Vaultwarden 的密码生成器,也可以用 openssl rand -hex 64
    • MYSQL_:和 MySQL 数据库相关的设置

在这里插入图片描述

frontend.env.txt

将下面的内容保存为 frontend.env.txt文件,这是前端页面的环境变量设置文件

PORT=3000
API_URL=http://192.168.0.197:3096/api
WAIT_TIMEOUT=5000PAGE_SIZE=25BROWSER=none
  • frontend.env.txt 文件中主要的几个参数:
    • PORT:前端页面的容器端口;
    • API_URL:后端 API 服务的外部可访问地址,例如http//<群晖主机IP>:<API_PORT>/api,如果反代了,这里要用域名;

然后执行下面的命令

# 新建文件夹 plantit 和 子目录
mkdir -p /volume1/docker/plantit/{db,upload}# 进入 plantit 目录
cd /volume1/docker/plantit# 将 docker-compose.yml 、 frontend.env.txt、 backend.env.txt 放入当前目录# 一键启动
docker-compose up -d

在这里插入图片描述

运行

在浏览器中输入 http://群晖IP:3095 就能看到首页

在这里插入图片描述

第一次需要通过 create an account 创建账号,之后就可以通过 login 登录,登录成功后的主界面

在这里插入图片描述

这个页面风格一看就是主要针对手机的用户的

添加植物

点下面的放大镜图标,然后在点击 Custom 的图片,来添加自己的植物

在这里插入图片描述

  • Scientific classification --> 科学分类

    • Family --> 科
    • Genus --> 属
    • Species --> 种
    • Thumbnail --> 缩略图
  • Plant --> 植物

    • Name --> 名称
    • Purchased date --> 购买日期
    • Purchased on --> 购买于
    • Note --> 备注

这些不是都需要设置,老苏就设置了 Name ,并上传了 Thumbnail,设置完成点下面的 SAVE PLANT 即可

在这里插入图片描述

保存成功就能看到了

在这里插入图片描述

重复上面的步骤,添加另外的植物

在这里插入图片描述

添加事件

点屏幕下方正中间的 + 号创建事件

在这里插入图片描述

Name 支持下拉,也支持多选

在这里插入图片描述

  • Type --> 事件类型
    • Biostimulating --> 生物刺激
    • Fertilizing --> 施肥
    • Misting --> 喷雾
    • Observation --> 观察
    • Seeding --> 播种
    • Transplanting --> 移栽
    • Treatment --> 处理
    • Watering --> 浇水
    • Water changing --> 换水

在这里插入图片描述

接下来加上时间和备注

在这里插入图片描述

SAVE EVENT 保存之后

在这里插入图片描述

继续填加其他事件,不同的类型有不同的图标和颜色,熟悉之后一目了然

在这里插入图片描述

最后看看手机上的效果

在这里插入图片描述

参考文档

MDeLuise/plant-it: 🪴 Self-hosted, open source gardening companion app
地址:https://github.com/MDeLuise/plant-it

这篇关于园艺伴侣应用程序Plant-it的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/543069

相关文章

适用于 Android 的 几种短信恢复应用程序

Android 设备上的短信丢失可能由于多种原因而丢失,例如意外删除、恢复出厂设置、系统崩溃或病毒攻击。是否有应用程序可以恢复 Android 上已删除的短信?幸运的是,有几款短信恢复应用程序可以扫描您的 Android 手机并从内存或 SIM 卡中检索已删除的短信。 然而,并非所有短信恢复应用程序都是可靠或有效的。有些可能无法恢复消息,有些可能会损坏您的数据,有些甚至可能包含恶意软件或间谍软件

WinCE的C#程序中获取当前应用程序的路径

WinCE中获取当前路径的两种方法: string appPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); string appPath = System.IO.Path.GetDirectoryName(System.R

控制面板里找不到“应用程序服务器”这个项目,Windows XP中金蝶安装时无“应用程序服务器”的解决办法

要注意先安装IIS,再安装VS2008。 我们会经常在控制面板里找不到“应用程序服务器”这个项目。我们需要按照下面的步骤来操作就会Ok。 1.下载IIS6,放置到D盘根目录。

如何减小iOS应用程序的大小

转自:http://mobile.51cto.com/hot-434754.htm 怎样才能让我的程序安装包小一点,让程序的下载和安装更快速?本文收集了一些减小程序安装包大小的相关技巧(当第一次下载和安装程序时)。 AD:51CTO学院:IT精品课程在线看! 本文译自:Reducing the size of my App Q: 怎样才能让我的程序安装包小一

在命令行应用程序中接受安全登陆

import java.io.Console;import java.util.Arrays;public class ConsoleApp {private static final int MAX_LOGINS = 3;//最多输入三次密码public static void main(String[] args) {// TODO Auto-generated method stubCon

操作系统从硬件到应用程序之间的关系

一个完整的设备(PC、ARM)组成:硬件、内核、操作系统、应用程序 操作系统=所有驱动+对驱动的管理 内核=所有驱动 驱动组成:字符设备(串口)、块设备(u盘)、网络设备 内核可以访问硬件,并向外提供接口,操作系统管理内核,使不同驱动正常有序运行,应用程序通过操作系统访问内核的接口

读书笔记之应用程序与操作系统之间的关系

这个知识点很好的解释了为什么一些程序不能跨平台使用,比如windows与linux之间的应用程序一般不能通用,底层库不同,可执行程序的格式也不同,后面章节中作者也点明了这个问题。此问题可见知乎上的讨论:主要的原因是格式不同和API不同,前者更重要一些。http://www.zhihu.com/question/24369805,另外有个东西也可以了解下wine——Wine (“Wine Is N

如何优化Android应用程序的性能

一、技术难点 在Android应用程序开发中,性能优化是一个至关重要的环节,它涉及多个技术难点。首先,开发者需要深入理解Android系统的运行机制,包括内存管理、CPU调度、渲染流程等,以便准确地找出性能瓶颈并进行针对性的优化。其次,Android设备的多样性和碎片化也给性能优化带来了挑战,开发者需要确保应用在不同设备和系统版本上都能保持良好的性能。此外,随着应用功能的不断增加,如何在保证

linux下的cmos摄像头驱动设计2-应用程序的调用与驱动程序的关系

上一篇写了,摄像头驱动的注册过程,这次写写应用程序的调用与驱动程序的关系,遵循V4L2架构的应用程序主要由几个ioctl组成, 其实也比较简单,有时候驱动写的不标准,应用程序按标准的操作操作就不行,出不来图像,这时需要跟踪驱动程序,看看哪个地方出错了, 首先,要打开设备   1.fd = open(dev_name, O_RDWR /* required */| O_NONBLOCK, 0)

航行在水域:使用数据湖构建生产级 RAG 应用程序

在 2024 年年中,创建一个令人印象深刻和兴奋的 AI 演示可能很容易。需要一个强大的开发人员,一些聪明的提示实验,以及一些对强大基础模型的API调用,你通常可以在一个下午建立一个定制的AI机器人。添加一个像 langchain 或 llamaindex 这样的库,使用 RAG 来增强您的LLM一些自定义数据 - 一个下午的工作可能会变成一个周末项目。 然而,投入生产是另一回事。您将需要一