走到第十五天,我想先停下來,確認前面整理與驗證過的功能,能不能連成一次完整的使用流程。平均分攤算得對、自訂金額能檢查、不同人的代墊可以抵銷,這些都很重要,但使用者真正會做的,是從一個空帳本開始,陸續記下支出,發現記錯時修改,最後看懂誰應該付給誰。今天的目標就是把這條路實際走一遍,並整理專案目前做到哪裡。
這次我請 AI 協助完成第十五天的流程驗證、文章與 Notion 紀錄,也希望直接看到目前的專案。驗證使用本機版本,在獨立開啟的頁面中操作測試資料,沒有更動其他頁面中的帳目。這是一場模擬聚餐,並非真人試用,也沒有進行實際付款。
我先按下「開一本新帳」,確認後畫面留下「我」這位成員,支出與總金額都歸零。接著加入小美和阿哲,建立三人名單。這裡也釐清一個容易誤會的地方:目前「開一本新帳」會重設這個頁面的帳目,還不是把原本帳本保存起來、再切換到另一本帳本。真正的多帳本管理會在接下來實作。
第一筆是我先付的一千元聚餐費,三個人平均分攤。因為一千無法被三整除,畫面分配為我三百三十四元、小美三百三十三元、阿哲三百三十三元,總和仍是一千元。此時小美和阿哲各需要付我三百三十三元,平均分攤與零頭規則順利接上付款清單。
第二筆是小美先付的一百八十元咖啡,只有我和小美參加。我取消阿哲的勾選,讓這筆支出由兩人各負擔九十元。加上咖啡後,總花費變成一千一百八十元,我應收五百七十六元,小美應付二百四十三元,阿哲仍應付三百三十三元。這一步同時確認不同代墊者與指定參與者可以在同一本帳中一起運作。
第三筆是阿哲先付的三百二十元車資,改用自訂分攤。我和小美各負擔一百元,阿哲負擔一百二十元。正式存入前,我故意把阿哲填成一百一十元,讓分攤合計只有三百一十元。按下儲存後,表單顯示加總必須等於總金額,沒有關閉;把金額改為一百二十元後,才成功儲存。這次測試確認錯誤輸入可以被修正,修正後也能繼續原本的流程。
三筆都記好後,總花費是一千五百元。我已代墊一千元、應負擔五百二十四元,所以應收四百七十六元;小美已代墊一百八十元、應負擔五百二十三元,所以應付三百四十三元;阿哲已代墊三百二十元、應負擔四百五十三元,所以應付一百三十三元。付款清單因此列出小美付我三百四十三元、阿哲付我一百三十三元,兩筆合計正好四百七十六元。
接著我模擬記帳後才發現咖啡金額有誤,把一百八十元改成兩百元。畫面總額更新為一千五百二十元,我應收四百六十六元,小美應付三百三十三元,阿哲應付一百三十三元。修改後不需要額外按重新計算,支出明細與結算會一起更新。
我也測試了刪除的兩條路。第一次按刪除咖啡後,選擇「先不要」,確認帳目仍保留,總額維持一千五百二十元。第二次才確認刪除,剩下聚餐與車資兩筆,總額降為一千三百二十元,我應收五百六十六元,小美應付四百三十三元,阿哲應付一百三十三元。這些金額與獨立計算的結果一致。
除了瀏覽器操作,我也針對空帳本、只有聚餐、加入咖啡、加入車資、修改咖啡與刪除咖啡六種帳目狀態執行計算模組驗證。每個狀態都核對總花費、每人的淨額、代墊合計與分攤合計,並模擬依付款清單付款,確認最後每個人的差額都能歸零。另外也驗證了自訂分攤加總不符會被拒絕。瀏覽器共記錄九個流程檢查點,這代表今天選定的聚餐流程通過,不代表所有裝置、所有輸入組合都已測完。
回頭看目前的成果,專案已經是一個可以操作的單帳本原型:能加入成員,新增、修改與刪除支出,每筆可以指定代墊者和分攤成員,也能混合平均與自訂分攤,最後產生淨額結算與付款清單。畫面採用柔和中性色、圓角卡片與小帳單式結算區,延續一開始希望的中性可愛方向。
不過,可操作還不等於已經能長期保存重要帳目。目前資料只保留在頁面記憶體,重新整理會回到範例;穩定成員 ID、多帳本、本機保存與備份還沒有完成。每個人拿出多少張一百元、多少枚五十元或十元,再計算如何付款與找零,也仍是後半段的計畫。現有結算能讓淨額歸零,但延續第十四天的結論,不能宣稱一定產生最少轉帳筆數。
今天沒有為了湊進度修改已經通過驗證的產品程式,也沒有提交、推送或部署新版;新增的是測試、結果與文章紀錄。本機目前看到的是多筆支出的帳本原型,先前的私人網站仍是較早版本,不能把兩者視為已同步。三十天進度走到十五天,表示每日任務與文章完成到一半,不代表整套產品功能完成百分之五十。
這次里程碑讓我更清楚下一步的優先順序:先讓資料結構能支援多個帳本,再讓帳目保存與還原,最後才把現金湊款和找零接上來。第十六天會從穩定成員 ID 與多帳本資料隔離開始,讓聚餐與旅行可以分開記,逐步把現在的原型變成能持續使用的工具。