Skip to content

立项报告指南(学生版)

立项报告是什么

本学期需要你策划、设计和开发一个基于Web前端技术的个人项目。允许你使用ai来辅助你开发,但鼓励的路径是生成代码—>学习代码->理解代码->质疑和提升代码->新的循环,而明令反对用AI的结果来代替你的学习过程。

基于此,本课程开发了一个基于ai的系统,用来帮助你关注过程,克服过度依赖ai。 立项报告可以看作是你给这个系统的第一段提示词,系统将根据立项报告和后续的一系列项目仓库的提交(git),对你的开发过程进行观测,并会不断提出问题、进行小测验等帮助你理解你的代码。

因此,立项报告确立了「项目是什么」,它既是你的开发方向,也是系统观测的依据或者观测的上下文。你如果写得空洞虚无,则系统就无从入手。你既得不到系统的帮助,也得不到课程的分数奖励。

基本原则

立项不是表态,是基准线。 它回答的不是「我想做什么?」,是「这学期拿什么证明自己做了什么?」

  • 项目方向两句话:项目要长在一个具体场景里(有人、有事、有数据),不可做通用、空中楼阁式的网站;
  • 功能先立单机版(浏览器独立跑通、支持登录),后端是可选高配(切换后多用户);
  • 技术栈:以本课程的基本要求为限。

有个性

把项目想像成四元组: 场景(谁在什么处境下要完成什么事)、用户(具体到人群, 不是「所有人」)、数据(从哪来、长什么样、多少量)、功能(为前三者服务)。

通用网站之所以通用,是四元组全取了默认值——用户取「所有网民」,数据取「随便 一些商品」,场景干脆空着。个性 = 每个字段填上了别处抄不来的值。

自检一问就够:把你的项目名遮住,换上任何同学的项目名,说明还成立吗? 成立,就是通用网站;不成立,才有个性。

什么是「具体」:

  • 场景是一个真实处境,不是一类网站。「实验室耗材领用」是场景,「管理系统」 不是;「宿舍拼车回老家」是场景,「出行平台」不是。
  • 用户具体到能点名几种人、各自拿它干什么。你自己、室友、某个社团、某间 办公室——真实用户往往就是你够得着的十几个人,这不是缺点,是数据来源的保证。
  • 数据具体且多样。具体 = 有真实来源(你的课表、社团登记本、导出的聊天记录、 整理过的公开数据);多样 = 不止一种形态(名单、日期、图片、金额、位置,至少 三类字段互相配合)。凭空编十条假数据不算数。
  • 功能从场景里长出来。每个功能都能指出回应四元组里哪个痛点;指不出来的, 砍。

个性不是猎奇:题材不必求怪;也不是求大:功能数量与个性无关。数据的具体程度,就是项目的真实程度。

功能:单机版本是基础,网络版本是升级

功能口径上分两层:

  • 单机版本(必做):基于浏览器的单机应用。打开即用,数据存本地 (localStorage / IndexedDB),虽是单人版本,也需支持登录。登录意味着用户数据与权限差异,是向网络版本迁移的准备

  • 网络版本(可选):把数据层切换到后端。RESTful、Supabase、自写后端皆可, 切换后应用可正常工作、支持多用户和数据共享。

注意:必须遵守的工程纪律:界面不直接碰数据,数据访问独立一层。 做到这条, 「切后端」就是换数据适配层的实现,而不是重写应用;做不到,网络版本就不是升级,而是另起炉灶。 立项时可暂时不考虑网络版本或确定后端方案,但你需要考虑到未来的兼容性:哪些功能是单机就可完成,哪些涉及 多用户操作(协作、共享、排行等)。要区分开来。

技术栈

满足课程 《Web 前端开发技术》的基本要求即可。技术栈不是个性的来源,场景和数据才是; 不要试图拿技术框架来充当个性,也不要追求复杂的技术栈,技术栈选型写你真会用的或者真想深入学习的(而不是ai全程替你代劳的),这里是课堂,不是生产车间。

思政要求

  • 内容才是灵魂。技术(结构、样式、行为)都是为内容服务的,有了真实且健康的内容主题和丰富的素材,网站的结构、样式和行为自然呼之欲出。
  • 站点内容主题应健康向上,不得包含非法及庸俗内容。
  • 站点内容应具有一定的阅读价值或社会价值,与作者的生活有一定关联性。
  • 站点的内容、功能、技术应具有整体一致性。技术的最高目的是服务于内容,而不是为技术而技术。

八个栏目怎么填

前七栏必填(缺任一,提交直接被拦);每栏少于十个字,反馈里黄标提示。逐栏说:

栏目写什么反例
一句话介绍场景 + 用户 + 干什么,一句话说完「一个方便生活的网站」
内容主题主题定位与垂直场景,用模板的词回应条款「前端项目」
目标用户几种人、各自干什么、你如何访问到他们「所有有需要的人」
功能清单按版本分层:单机完整的核心 + 多用户增强平铺十个孤立功能
技术选型存储方案 + 课程范围内的前端技术罗列不打算用的框架
里程碑对着本班周程与检查点切,每段留可运行增量「四周做完」
风险与对策真实风险:数据拿不到怎么办、做不完砍什么「没有风险」
自由补充前七栏装不下的:数据样例、界面草图、已做的调研留空

本课程为个人项目——一人一个项目一个仓库;确有组团需求的,可以在项目主题上进行聚合。

立项报告的验收

  • 第二周课堂进行立项报告的检查和答辩;
  • 系统也将提供检查功能,待后续通知
  • 存入 gitee.com 个人仓库的 docs/立项.md

附:模板

md
## 主题定位
- 一句话主题定位:什么场景、给谁、解决什么
- 主题长在具体垂直场景,不做通用网站

## 用户与数据
- 目标用户具体到人群与处境,说明你如何访问到他们
- 数据有真实来源,形态多样(至少三类字段互相配合)

## 功能与版本
- 低版本为浏览器单机应用:本地存储、支持登录、独立跑通
- 功能分层:单机完整的核心与多用户增强分开列
- 高版本可切换后端(RESTful / Supabase / 自编),数据访问独立成层

## 技术与计划
- 技术选型满足课程 Web 前端基本要求,不拿框架充个性
- 里程碑对本班周程与检查点,每段有可运行增量
- 风险写真实的:数据拿不到怎么办、做不完先砍什么