使用 codebase-design 只读分析课程资料管理项目。
读取 prepare.py、src/catalog.py 和 src/app.js；沿用已确认的业务术语。
分析读取校验、分类统计、HTML 生成和页面筛选各自向调用者暴露的规则。
请给出一个值得考虑的设计改进，说明涉及文件、重复知识、接口变化及验证方法。
若现有组织已足够支撑六条记录的练习，请说明哪些抽象可以暂缓。
不要只按文件大小判断设计，也不要为了新增层次拆分简单函数。
只提供分析，不修改代码。
