Start from the form
web-project and anti-fraud are practice projects, but they point at the same lesson: an admin page is not finished when a form can submit. Validation, pagination, permissions, empty states, and error messages decide whether the workflow feels safe.
I used to count endpoints first; now I check whether the screen closes the loop.
Risk pages need clearer state
The anti-fraud surface needs careful wording. A risk label should show where the record came from, what state it is in, and what action is still pending. Otherwise the page looks complete while the decision stays vague.
Spring Boot and Vue2 are familiar tools, which makes them good for boundary practice.
What stays on the list
I want to add more failed-path checks and operation logs before calling these systems polished. Normal-path CRUD is the easy part; the useful work starts when the page has to explain what went wrong and what the user can safely do next.

要和 XingHuiSama 参考页一样显示 Gitalk 评论框,需要配置你自己的 GitHub OAuth App: `NEXT_PUBLIC_GITALK_CLIENT_ID` 和服务端 `GITHUB_CLIENT_SECRET`。
comments: { provider: "gitalk", owner: "user", repo: "repo", clientId: "..." }