# StackEverything
**Repository Path**: ZDZX-T/StackEverything
## Basic Information
- **Project Name**: StackEverything
- **Description**: 一款家庭专用的仓储系统,帮您追踪物品所在位置。A home-specific storage system that helps you track where your items are located.
- **Primary Language**: JavaScript
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 6
- **Forks**: 0
- **Created**: 2025-06-24
- **Last Updated**: 2025-08-29
## Categories & Tags
**Categories**: erp
**Tags**: None
## README
# 堆叠世界
[README in English](/i18n/README_en.md)
[在github上查看](https://github.com/ZDZX-T/StackEverything) | [在gitee上查看](https://gitee.com/ZDZX-T/StackEverything)
## 简介
不知道大家有没有这样的经历:我记得我有一件这样的衣服,但是我忘记这件衣服是在我家还是在学校了🤔;我叠的整整齐齐的衣服,在翻找衣服时翻着翻着就乱套了😦;一摞鞋盒,为了找一双特定的鞋得每个都掀开看一遍,到最后还没找到😠;过年冰箱冻的肉,到了年中才被发掘出来想起来吃😵……
为了解决“东西堆成一堆后查找特定物品难”的问题,我开发了“堆叠世界”这个家庭仓储系统。与传统仓储系统注重追踪物品数量不同,堆叠世界家庭仓储系统注重追踪物品位置。
使用本系统,你可以追踪衣服堆里各衣服的位置,这样就避免翻找了;你可以记录药品的保质期,这样就不怕用的时候才发现过期了;你可以和家人一起使用,这样有找不到的东西就不用喊妈妈了……总之,本系统适合记录任何“一堆”东西,防止物品被遗忘在角落。
## 特点
1. **📁易于上手的UI**主操作界面采用类似windows资源管理器的界面,确保目录切换等操作信手拈来。
2. **🕹️直观的交互方式**拖拽即可移动物品,配合发光指示进行精准操作。
3. **🪄多样的移动模式**除了普通的单个拖拽外,堆叠世界还提供了多选、快速插入、快速吸收、传送门四种增加便捷性的移动模式(详细操作说明请见系统内的“帮助”页面)。
4. **🎛️自定义分类和属性**可以自由添加物品的分类和物品的属性,方便后续对物品进行检索。
5. **🔎方便的物品检索**可以根据名称、分类、是否虚拟、过期日期、是否有子物品、所在目录进行检索,根据分类检索时还可再根据属性进行筛选。筛选后显示的字段也可自定义。
6. **🛜局域网任意访问**只要局域网内一台机器运行本软件,局域网内的任何设备上的浏览器都可以访问堆叠世界,发挥不同设备的长处。
## 部署
_⚠️**安全警告**:由于本项目未实现身份验证机制,且默认使用Flask提供Web服务,因此**请勿将本服务直接暴露至公网**,否则可能导致严重的安全风险。_
### 首次使用
您可以通过 `git clone`获取本项目,或者通过 `Releases`界面下载最新或特定版本代码。
本项目需要python>=3.7。获取本项目代码后,在项目文件夹内执行下方命令安装项目所需依赖(flask和pillow)
```shell
pip install -r requirements.txt
```
随后启动服务即可
```shell
python StackEverything.py
```
在本机上访问[127.0.0.1:8456](http://127.0.0.1:8456)即可打开堆叠世界。如果是通过其它设备访问,则访问 `主机IP:8456`即可。
打开堆叠世界页面后,点击左上角的“>”即可展开页面选择侧边栏,点击“帮助”界面即可查看的堆叠世界操作指南。
有些参数是用户可设置的,例如语言。详细可设置参数请见[config.py](/config.py)。
### 更新
您需要保护好两个文件和一个文件夹:
1. `config.py`,这个是您的配置文件,在系统第一次运行时由自带的config_default.py复制而来;
2. `_StackEverything.db`,这个是数据库文件,系统运行后生成;
3. `user_image`,这个是存放物品图片的文件夹,系统运行后生成。
#### 手动更新
因为上面提到的需要保护的内容在源代码中并不存在,因此直接将新版本的压缩包放入堆叠世界目录内然后解压即可。
_备忘:Linux的覆盖解压命令 `unzip -o xxx.zip`_
## FAQ
Q1: 意思是我每次拿一件衣服还要在你的系统上操作一下?
A1: 不一定,比如我的应季衣物会单独放在一堆,我用的时候也不会操作系统使数据同步。但是换季的时候一定是要确保系统上物品次序与现实物品次序对应,这样本系统才有意义。
Q2: 你这个系统是不是有些脱裤子放屁?
A2: 看个人需求,有的人东西少,随便用脑子就记住了,那用这个系统确实是个累赘;但是当物品数量多到一定程度、接触频率低到一定程度时,脑子就不好使了,就需要辅助手段了。比如你现在知道你家小房(杂物间)里具体有哪些东西吗?使用本系统,你就可以知道,这就是本系统的意义所在。
## 问题/建议
提交Issue即可。如果是问题,最好说明当时进行的操作、目录结构、关键日志信息;如果是建议,最好附带使用场景,或说明会解决当前的哪些痛点。
## 赞赏
如果您喜欢本项目且愿意赞赏本项目的话,可以使用微信扫描下方二维码给作者一些鼓励。感谢您的支持!
## 版本日志
详细请见[CHANGELOG.md](/CHANGELOG.md)