初步需求获取之后完成的用例图如下:
整个系统只有用户这一个角色用户首先可以进行注册账号并填写个人信息注册之后才可以登录当前账号登录才能退出用户可以进行相关的设置,其中包括个人资料的设置比如用户名、性别、个性签名等,还可以进行密码的修改用户的好友功能,可以添加好友和删除好友对于核心功能MyFlag,可以新建一个Flag,同时可以邀请好友监督我的Flag并且设置监督奖励,根据每天的情况打卡接受好友的监督社区功能可以显示我以及好友的Flag,并且可以主动申请成为好友某一个Flag的监督人,并且监督好友Flag的完成情况数据库中共包含六个表user(用户)表,friend(好友)表,flag(立的flag)表,member(团队成员)表,supervise(监督表),tempFriend(添加好友)表:
`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) DEFAULT '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; `具体的接口规范大致按照如下格式:
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其中已经确定的功能模块有:
网络请求工具类,封装了与服务器通信的方法登录注册创建Flag