Files
laoyang ecafa110f2 阶段 0 起步:图标与环境自检脚手架
- assets/icons 全套图标:SVG 源文件 + maskable + 12 档 PNG
- favicon.ico / apple-touch-icon.png / site.webmanifest
- index.php 环境自检页(PHP 版本 / 必需扩展 / 配置 / 数据库连接),
  详情页默认不打印连接错误原文,避免泄露数据库账号名
- config.example.php:数据库与 app_key 的配置模板(config.php 不入库)
- README 补充项目定位与六阶段路线图;.gitignore 沿用既有约定
2026-09-29 23:48:45 +08:00

65 lines
2.4 KiB
Markdown
Raw Permalink 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.
# FamilyBook
**家书,记录家庭的全部生活,一本用岁月写成的家谱。**
> 把一个家的「人」「日子」「去过的地方、看过的电影」收进同一本书里。
---
## 它是什么
一个自托管的家庭生活系统。它不是又一个待办清单,而是**这个家的长期档案** ——
十年之后还能翻出孩子第一次观影的票根、那年暑假走过的路线。
围绕三个圈展开:
- **人**:家庭成员、亲友通讯录,以及他们之间的共享关系
- **时间**:日历、日程、提醒,以及任务的期限
- **事件**:观影、旅行、其他活动 —— 一切都落在同一条时间轴上
## 它在做什么
| 阶段 | 主题 | 内容 |
| --- | --- | --- |
| 0 | 地基 | 名册、账号、登录、权限模型、安装向导 |
| 1 | 通信 | 通讯录、共享给某个成员、CardDAV 服务端 |
| 2 | 时间 | 日历本、重复日程、提醒、CalDAV 服务端 |
| 3 | 归一 | 观影与旅行迁入统一事件模型 |
| 4 | 任务 | 任务管理,期限自动映射成日历事件 |
| 5 | 回看 | 统计、年度家书、时间轴 |
当前进度:**阶段 0 起步**,仓库里只有图标与脚手架。
## 技术选型
- PHP 7.4+(无框架、无 Composer,上传到站点目录即可运行)
- MySQL 5.7+ / 8.0(`utf8mb4`)
- 前端为原生 HTML / CSS / JavaScript,无构建步骤
⚠️ 注意 CalDAV / CardDAV 是**双向协议**,和单纯的 `.ics` 文件导出不是一个量级的东西。
## 部署
1. 把代码放到站点根目录;
2. 复制 `config.example.php` 为 `config.php`,填写数据库与 `app_key`;
3. 访问站点根,按引导页确认 PHP 版本、扩展、配置、数据库连接四项都通过。
`config.php` 不入库(已在 `.gitignore` 中忽略),其中包含数据库口令与加密密钥。
⚠️ **`app_key` 一旦开始记录数据就不能再改**(换掉即解不开已有数据),
并且它必须单独备份 —— 密钥丢失等同于数据永久丢失。
## 隐私
身份证号、手机号属于敏感个人信息,一律加密存储。
(就家庭自用而言,身份证号其实没有多少必须存的场景,启用前请三思。)
## 图标
见 `assets/icons/`。概念是「**这本书就是家**」:屋顶即一本摊开的书,
屋顶下纸做的墙上,三行横线是这个家写下的日子。
## 开源协议
[Apache License 2.0](LICENSE)