MyFlag Step2:APP雏形的展现以及相关规范
来源:互联网 发布:wait的用法java 编辑:程序博客网 时间:2024/05/21 08:24
引言
我们MyFlag的创意很新颖,市面上目前还没有与此同类的APP或者软件,所以我们的在没有相关的参考的情况下进行尝试性的讨论并将MyFlag的初步的雏形进行初步的构建。并且在开发过程中做好一系列的规定与规范。
我整理并且总结发布的第二篇团队博客:MyFlag Step2:APP雏形的展现以及相关规范
进行完MyFlag的产品定位以及相关的核心功能之后,我们团队开始考虑到这个想法的落地。今天我们团队主要针对了以下几点进行了讨论:
- 具体需求的细化
- 根据需求初步确定mysql表,并进行相关优化
- 后台提供的功能以及接口规范
- 客户端的功能模块
- 相关框架、技术的初步确定
- 微信小程序的移植可行性(可选)
需求细化
初步需求获取之后完成的用例图如下:
- 整个系统只有用户这一个角色
- 用户首先可以进行注册账号并填写个人信息
- 注册之后才可以登录当前账号
- 登录才能退出
- 用户可以进行相关的设置,其中包括个人资料的设置比如用户名、性别、个性签名等,还可以进行密码的修改
- 用户的好友功能,可以添加好友和删除好友
- 对于核心功能MyFlag,可以新建一个Flag,同时可以邀请好友监督我的Flag并且设置监督奖励,根据每天的情况打卡接受好友的监督
- 社区功能可以显示我以及好友的Flag,并且可以主动申请成为好友某一个Flag的监督人,并且监督好友Flag的完成情况
MySql表
数据库中共包含六个表user(用户)表,friend(好友)表,flag(立的flag)表,member(团队成员)表,supervise(监督表),tempFriend(添加好友)表:
相应的E-R图(暂未优化)如下:
`CREATE TABLE `fg_flag` ( `fid` int(10) NOT NULL AUTO_INCREMENT, `uid` int(10) NOT NULL, `content` blob NOT NULL, `award` blob NOT NULL COMMENT '奖励', `achieve` tinyint(1) DEFAULT NULL COMMENT '是否完成', `isTeam` tinyint(1) NOT NULL COMMENT '单人或团队', `startTime` int(11) NOT NULL COMMENT '开始时间', `endTime` int(11) NOT NULL, `createTime` int(11) NOT NULL, PRIMARY KEY (`fid`), KEY `uid` (`uid`), CONSTRAINT `uid` FOREIGN KEY (`uid`) REFERENCES `fg_user` (`uid`) ON DELETE CASCADE) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8;CREATE TABLE `fg_friend` ( `aUid` int(11) NOT NULL COMMENT '邀请者', `bUid` int(10) NOT NULL COMMENT '被邀请人', `remark` varchar(10) CHARACTER SET latin1 DEFAULT NULL COMMENT '备注', KEY `aUId` (`aUid`), KEY `bUid` (`bUid`), CONSTRAINT `aUId` FOREIGN KEY (`aUid`) REFERENCES `fg_user` (`uid`) ON DELETE CASCADE, CONSTRAINT `bUid` FOREIGN KEY (`bUid`) REFERENCES `fg_user` (`uid`) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE `fg_member` ( `fid` int(10) NOT NULL, `uid` int(10) NOT NULL, PRIMARY KEY (`fid`,`uid`), KEY `muid` (`uid`), CONSTRAINT `mfid` FOREIGN KEY (`fid`) REFERENCES `fg_flag` (`fid`) ON DELETE CASCADE, CONSTRAINT `muid` FOREIGN KEY (`uid`) REFERENCES `fg_user` (`uid`) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE `fg_supervise` ( `fid` int(10) NOT NULL, `uid` int(10) NOT NULL, `agree` smallint(1) DEFAULT '0' COMMENT '是否同意监管,0表示不确定,1失败,2成功', `achieve` smallint(1) DEFA ULT '0' COMMENT '是否完成', `evaluate` blob COMMENT '评语', `time` int(11) DEFAULT NULL COMMENT '评定时间', PRIMARY KEY (`fid`,`uid`), KEY `uid` (`uid`), CONSTRAINT `fg_supervise_ibfk_1` FOREIGN KEY (`uid`) REFERENCES `fg_user` (`uid`) ON DELETE CASCADE, CONSTRAINT `fid` FOREIGN KEY (`fid`) REFERENCES `fg_flag` (`fid`) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE `fg_tempfriend` ( `uid` int(10) NOT NULL, `requestUid` int(10) NOT NULL, `message` varchar(20) CHARACTER SET latin1 DEFAULT NULL, `remark` varchar(10) CHARACTER SET latin1 DEFAULT NULL, `agree` int(5) DEFAULT '0' COMMENT '1表示不同意', PRIMARY KEY (`uid`,`requestUid`), KEY `kl` (`requestUid`), CONSTRAINT `kl` FOREIGN KEY (`requestUid`) REFERENCES `fg_user` (`uid`) ON DELETE CASCADE, CONSTRAINT `ui` FOREIGN KEY (`uid`) REFERENCES `fg_user` (`uid`) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8;、CREATE TABLE `fg_user` ( `uid` int(10) NOT NULL AUTO_INCREMENT, `nickname` varchar(20) CHARACTER SET latin1 NOT NULL, `password` varchar(20) CHARACTER SET latin1 NOT NULL, `phone` bigint(11) NOT NULL, `email` varchar(30) CHARACTER SET latin1 NOT NULL, `information` text CHARACTER SET latin1, `sex` varchar(10) DEFAULT '男', PRIMARY KEY (`uid`,`phone`), UNIQUE KEY `un` (`phone`)) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;`
后台支持
根据需求可以将后台服务器所提供的功能大体分为以下几个方面:
- 关于用户
- 用户注册
- 用户登录
- 修改个人信息
- 修改密码
- 查找用户
- 关于添加好友
- 添加好友
- 确认添加好友
- 改变备注
- 我的朋友
- 获得好友请求列表
- 创建Flag
- 创立Flag
- 查看我的Flag
- 查看朋友Flag
- 删除Flag
- 处理要求监督Flag的要求
- 评价Flag
- 获得邀请我监督的请求
- 获得一个flag
- 获取我监督的flag
- 请求监督
- 确认别人的请求监督
- 得到别人想要申请监督我的flag的 消息列表
- 得到我申请监督别人的flag的 消息列表
具体的接口规范大致按照如下格式:
1 用户注册 URL:/user/Register Parameter: nickname 用户昵称 password 用户密码 phone 手机号 (11位) email 电子邮件 information 个人信息 sex 性别(男或者女 String类型 ) return:json格式的id(用户id) 2 登陆 URL:/user/Login Parameter: id 用户的id password 用户密码 return:json格式的user
客户端功能模块
该系统许多操作都需要与服务器进行通信,而这些网络通信又都具有一定的共性,故将所有基本的网络通信方法封装在类util包下NetUtil类中,将具体处理留给实现了接口的子类来实现。
其中已经确定的功能模块有:
- 网络请求工具类,封装了与服务器通信的方法
- 登录
- 注册
- 创建Flag
相关框架、技术
- axure构件原型
- 安卓的界面使用materim design
- Retrofit2+OkHttp3+RxJava搭建网络框架
- daggar2依赖注入
- 服务器端与数据库连接的C3P0
微信小程序移植可行性(可选)
微信小程序,用一个不贴切的说法就是,微信内嵌web view 控件,本质上就是一个定制化的web浏览器,与普通浏览器相比只是增加了一些丰富的内部交互,比如可以轻松用户信息等等,以及可以存放独立缓存等数据,属于虚拟机范畴的优化。MyFlag清晰的逻辑结构以及功能完全可以移植进微信小程序。
总结
团队初步的将整体的框架设想出来并且经过充分的讨论达到一致的看法,仅仅是刚刚开始,有困难的日子还在后面,但我们相信我们一定可以逐步完成我们的项目。最后,初步确定了MyFlag的雏形,负责前台页面的我也有了界面间转换的大体流程,下一步的任务就是前台框架的选用和界面的设计。
0 0
- MyFlag Step2:APP雏形的展现以及相关规范
- MyFlag Step2:APP雏形的展现以及相关规范
- MyFlag Step2:APP雏形的展现以及相关规范
- MyFlag Step 9:Flag相关的功能设计
- MyFlag Step9 :Flag功能相关的设计
- MyFlag Step3:APP的系统设计和初步详细设计
- MyFlag Step4:APP的详细设计和界面设计
- MyFlag Step4:APP的详细设计和界面设计
- MyFlag Step4:APP的详细设计和界面设计
- MyFlag Step9:app端与服务器端的代码编写
- myFlag step8:个人信息修改、flag的添加以及material design
- 第一周(2) MyFlag开发雏形构建
- MyFlag Step3:APP的系统设计、界面设计和初步详细设计
- PHP个人常用简单命名规范以及搜集的相关命名规范
- myflag step10:flagdao的编写
- myflag step13:接口的完成
- 筛选合理的关键词以及网站雏形布局
- Android客户端之“微服私访”App的系统学习(六)RecyclerView 展现复杂数据列表以及水波纹效果+CardView显示头像
- centos7开机不进入图形界面
- Centos7命令行下安装和配置Apache服务器
- MQ发送定时消息
- 十五个Web狗的CTF出题套路
- python-字符串
- MyFlag Step2:APP雏形的展现以及相关规范
- 补2
- leetcode-2. Add Two Numbers
- JavaScript的关于Array的方法介绍
- 小游戏
- 基于集合关系对求解闰年数的算法优化
- iOS如何上传代码到github
- sourceInsight相关
- ROS(indigo)RRT路径规划