前不久刚刚通过租房网站的开发学习了MVC,并随后学习了单元测试相关的基础,现在开始健身网站的开发,该项目将结合MVC与单元测试,在开发实践过程中,趁热打铁,巩固并运用之前的内容。

一 健身网站功能描述

关于健身网站的需求,主要从个人日常锻炼的需要出发,以达到辅助锻炼的目的。各应用商店中健身相关的APP也有不少,但始终无法找到一款很好满足增肌训练的、不花哨的、去社交化的、无跑步宗教的应用。于是刚好通过健身网站的开发,学习MVC和单元测试;如果顺利完成的话,也可作为日常锻炼之用。

网站的主要功能是:记录用户定制的健身计划,并通过给出当天的训练内容来提示用户要执行的计划。网站没有提供健身课程的功能。

a) 网站的前台功能如下:

健身计划的执行过程中,会通过打卡来记录执行情况。而且主要以增肌为目的,所以有必要具备围度记录功能,而且用户将能够以图形的形式直观的了解自己的努力情况。

b) 网站的后台主要进行常规的管理员权限控制以及为前台信息做配置,还能查看网站用户以及管理员操作日志。

c) 用户注册、登录都要输入验证码,注册时使用邮箱激活验证。

二 项目结构

a) 项目将使用与前面租房网站一样的的结构(UI+Service+DTO),同时增加了主要代码的测试项目,比如Fit.Service.Tests,用来测试Service层。

b) 为了用桩对象替换EF,需要改动Service层的内部结构,具体做法还有待学习唉。

c) 第三方组件也与租房网站保持一致,主要的一些组件如ORM使用EF、IOC使用AutoFac、日志使用Log4Net,另外单元测试使用NUnit,隔离框架使用NSubstitute,但貌似网上NSubstitute的资料不太多,如果后期有很大困难,将替换成Moq。

也不知能不能顺利完成,完成需要多久,总之预感会困难重重,接下来撸起袖子加油干吧。

MVC与单元测试实践之健身网站(一)-项目概述的更多相关文章

  1. MVC与单元测试实践之健身网站(完)-备案与部署

    主页-http://www.zhixin9001.cn/Home/Introduce GitHub- https://github.com/zhixin9001/Fitness 这是关于Fit网站的最 ...

  2. MVC与单元测试实践之健身网站(四)-动作管理

    网站后台负责进行动作的管理,包括动作名称.介绍.训练要点.配图等内容,以便前台能够使用这些内容.在上一篇< Fit项目图片上传和云存储的调通>中已经准备好了这里涉及到的主要技术难点,现在就 ...

  3. MVC与单元测试实践之健身网站(六)-计划的添加与重置

    健身计划需要使用者自己定制,没有现成的内容可供选择.本篇就是关于健身计划的添加与重置功能的一部分. 一 功能描述 a) 关于计划的定制,决定以周期的方式,比如有人会以一周为周期,然后安排每周的1.3. ...

  4. MVC与单元测试实践之健身网站(二)-管理员模块

    开始动手做这个项目时,发现无法做到完全的先设计.再编码,于是决定分模块进行,从管理员模块开始设计.编码,而且接口就已经改了好几次了. 管理员模块涉及的功能有登录和后台对管理员的维护,其中也涉及前端的开 ...

  5. MVC与单元测试实践之健身网站(八)-统计分析

    ​统计分析模块与之前的内容相对独立,用于记录并跟踪各部位围度的变化.还需提供对所作计划的分析,辅助使计划更合理. 一 围度记录 这儿可以记录各项身体围度指标,现在包括体重在内身体上上下下基本全部提供了 ...

  6. MVC与单元测试实践之健身网站(七)-日程与打卡

    上一篇完成了计划的制定,然后需要把计划转换为日程,在日历视图上直观地显示,与日程相对应的还有完成日程内容后的打卡动作. 一 日程视图 a) 要把循环的计划铺开成为日程,日程的显示用日历视图是最合适的. ...

  7. MVC与单元测试实践之健身网站(七)-添加计划

    ​计划的制定涉及到周期-动作包-动作的关联操作,在上一篇<计划的添加与重置>完成了周期的设置.动作包的添加,现在要完成的是动作的添加操作. 一 具体功能 a) 在选定了一个大周期具有的天数 ...

  8. MVC与单元测试实践之健身网站(五)-系统信息、前台入口

    Fit项目停滞了一段时间,现在继续吧.上一篇完成了动作文本和配图的添加.编辑等内容.接下来要完成的是后台的最后一个模块:系统信息:以及前台的入口:关于注册.登录.修改密码等. 一 系统信息 a) 用户 ...

  9. MVC与单元测试实践之健身网站(三)-角色与权限

    管理员的维护功能完成后,还有权限和角色,三者构成权限系统.这里采用的RBAC是最经典.最简单的一种,权限-角色-管理员只能层层传递,并不能直接为管理员分配权限. 一 权限.角色管理 a) 权限 之前编 ...

随机推荐

  1. java基本语法三

    1 程序流程控制 流程控制语句是用来控制程序中各语句执行顺序的语句,可以将语句组合完成能完成一定功能的小逻辑模块. 流程控制方式采用结构化程序设计中规定的三种基本流程,即: ①顺序结构: 程序从上到下 ...

  2. JobScheduler调度器过程(JobSchedulerService的启动过程)

    JobSchedulerService启动过程,最主要工作是从jobs.xml文件收集所有的jobs,放入到JobStore的成员变量mJobSet,转成jobinfo. JobScheduler服务 ...

  3. 推荐一个 MYSQL 的命令行的客户端 MYCLI

    MYCLI 是一个 MySQL 命令行客户端工具 , 可以实现自动补全(auto-completion)和语法高亮,平时测试环境维护一些数据还是蛮方便的. https://github.com/dbc ...

  4. AJAX(Jquery)

    一)jQuery常用AJAX-API 目的:简化客户端与服务端进行局部刷新的异步通讯 (1)取得服务端当前时间 简单形式:jQuery对象.load(url) 返回结果自动添加到jQuery对象代表的 ...

  5. 21-hadoop-weibo推送广告

    1, tf-idf 计算每个人的词条中的重要度 需要3个mapreduce 的 job执行, 第一个计算 TF 和 n, 第二个计算 DF, 第三个代入公式计算结果值 1, 第一个job packag ...

  6. Makefile中.PHONY的作用

    单词phony (即phoney)的意思是:伪造的,假的.来自collins的解释是: If you describe something as phoney, you disapprove of i ...

  7. 记一次pm2的踩坑

    1.问题: 公司采用了自动发布平台,最近突然发现一个问题,上线完成后服务是能正常访问的,但是有一个节点访问的时候每两次中总是有一次404,通过nginx的access日志分析发现第一次正常访问有一次g ...

  8. webpack版本兼容性问题错误总结,耽误半天学习

    今天看了掘金上的一篇文章(https://juejin.im/post/5bf61082f265da616a474b5c#comment),想搞搞webpack拆分js. 开搞 文章中用了webpac ...

  9. TabControl控件在左侧绘制tabPage页面

    效果图:

  10. Docker基础-端口映射与容器互联

    1.端口映射实现访问容器 1.从外部访问容器应用 在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内部的网络应用和服务的. 当容器中运行一些网络应用,要让外部访问这些应用时, ...