从零开始一个项目-1.项目规划篇

最近帮助新公司搭建一个数据分析后台,借此机会,把整个项目的点滴记录下来,顺便帮助一些朋友理清一个项目的流程,建立良好的开发习惯,提高效率

1.需求整理

公司需求只是一个简单的数据分析后台,只需要表格的展示功能,无需增删改的功能,但是考虑到之后扩展的可能(比如现在就已经增加了GM管理游戏基本数据的功能了…),因此决定写成一个框架,不管是现在公司使用,还是自己接一些项目都是使用到,节省开发成本。

目标:
- 使用到的框架:angularjs、requirejs。
- 页面样式:我直接照抄的阿里云管理后台,如果正式项目肯定会有设计图。
- 项目预期(前端):左边的导航栏以及导航栏对应显示的内容与HTML完全分离,做到如果新增了一个栏目,只需要新建一个data配置,就可以直接渲染出完整的功能,无需二次开发。

2.页面结构图

因为项目不是特别复杂,因此没有使用标准的UML时序图去表示,只是简单的使用了脑图理清思路。

页面结构图

这里的检索表单区域,相当于搜索栏,因为是数据统计后台,每一个栏目可能有很多的筛选项,例如:起始时间、结束时间、渠道等,这里也需要抽象成活的模块,根据配置渲染即可。

3.控制器以及基本类图

控制器以及基本类图

因为使用了angularjs因此这里是直接划分了控制器,以及相关的模块的依赖关系。

  • baseData,相当于一个纯Data的服务,注入到主控制器中,主要存储了网站名称、logo路径、icon信息
  • adminUserData,一个管理员用户信息的服务,ajax服务器,获取对应的基本信息、权限
  • modulesData,总的数据模块类,类中包含了一个全部数据模块的列表,以及注册数据模块到该列表中的方法,此类的作用,主要是用来提供导航栏的渲染、以及一个简单的观察者模式的主类。
  • userData,是一个数据模块的例子,图中列出的是考虑到的可能需要用到的属性。

这是图中各类的说明,实际书写中其实还有新增的结构或删减的结构,但是至少大致的结构是如此,在开始一个项目之前,好好的理一理的项目的逻辑图、画一画类图是很有好处的。

4.项目目录结构

项目目录结构

这里没啥可说的,主要就是controllers里面我还按照之前的页面结构图,划分了子文件夹,然后在具体开发中因为我还加了一个总的顶部导航栏,所以多了一个和main控制器平级的header控制器。

结语:第一篇项目准备就这么多,虽然看起来很麻烦,但是我还是强烈建议大家动手写代码前,多想一想大致的结构怎么样,怎么实现可以抽象、复用,这样真正开始动手的时候才不会手忙脚乱各种复制粘贴,最后整个项目变成一个完全无法维护的项目。
最后项目源码地址:https://github.com/Orz-Li/OrzCMS,欢迎大家fork、clone、提交

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值