简单 CLI 会议管理系统
Version1.0:静态测试通过
-
Go Support
安装 Go 环境
-
Download Project
使用如下命令进行项目下载:
go get github.com/xwy27/Go-Agenda
如果下载失败,可手动下载:进入 $GOPATH/src/github.com 目录,利用
git clone https://github.com/xwy27/Go-Agenda
进行下载 -
Compile & Run
使用如下命令进行编译安装:
go install github.com/xwy27/Go-Agenda
然后,可以根据下文用法进行使用
-
Usage:
Go-Agenda register -u | --username Username -p | --password Password -e | --email Email -t | --telephone Phone_Number
-
Description:
注册新用户时,用户需设置一个唯一的用户名和一个密码。另外,还需登记邮箱及电话信息。
如果注册时提供的用户名已由其他用户使用,反馈一个出错信息;成功注册后,反馈一个成功注册的信息。
-
Usage:
Go-Agenda login -u | --username Username -p | --password Password
-
Description:
用户使用用户名和密码登录 Agenda 系统。
用户名和密码同时正确则登录成功并反馈一个成功登录的信息。否则,登录失败并反馈一个失败登录的信息。
-
Usage:
Go-Agenda logout
-
Description:
已登录的用户登出系统后,只能使用用户注册和用户登录功能。
-
Usage
Go-Agenda listUsers
-
Description:
已登录的用户可以查看已注册的所有用户的用户名、邮箱及电话信息
-
Usage
Go-Agenda deleteUser
-
Description:
已登录的用户可以删除本用户账户(即销号)。
操作成功,需反馈一个成功注销的信息;否则,反馈一个失败注销的信息。
以该用户为 发起者 的会议将被删除
以该用户为 参与者 的会议将从 参与者 列表中移除该用户。若因此造成会议 参与者 人数为0,则会议也将被删除。
-
Usage:
Go-Agenda createMeeting -t | --title Title -p | --participator Participator -s | --startTime yyyy-mm-ddThh:mm -e | --endTime yyyy-mm-ddThh:mm
-
Description:
已登录的用户可以添加一个新会议到其议程安排中。会议可以在多个已注册 用户间举行,不允许包含未注册用户。添加会议时提供的信息应包括:
- 会议主题(title)(在会议列表中具有唯一性)
- 会议参与者(participator)
- 会议起始时间(start time)
- 会议结束时间(end time)
注意,任何用户都无法分身参加多个会议。如果用户已有的会议安排(作为发起者或参与者)与将要创建的会议在时间上重叠 (允许仅有端点重叠的情况),则无法创建该会议。
用户应获得适当的反馈信息,以便得知是成功地创建了新会议,还是在创建过程中出现了某些错误。
-
Usage:
Go-Agenda addParticipator | removeParticipator -t | --title Title -p | --Participator Participator
-
Description:
已登录的用户可以向 自己发起的某一会议增加/删除 参与者 。
增加参与者时需要做 时间重叠 判断(允许仅有端点重叠的情况)。
删除会议参与者后,若因此造成会议 参与者 人数为0,则会议也将被删除。
-
Usage:
Go-Agenda queryMeetings -s | --startTime yyyy-mm-ddThh:mm -e | --endTime yyyy-mm-ddThh:mm
-
Description:
已登录的用户可以查询自己的议程在某一时间段(time interval)内的所有会议安排。
用户给出所关注时间段的起始时间和终止时间,返回该用户议程中在指定时间范围内找到的所有会议安排的列表。
在列表中给出每一会议的起始时间、终止时间、主题、以及发起者和参与者。
查询会议的结果应包括用户作为 发起者或参与者 的会议。
-
Usage:
Go-Agenda cancelMeeting -t | --title Title
-
Description
已登录的用户可以取消 自己发起 的某一会议安排。
取消会议时,需提供唯一标识:会议主题(title)。
-
Usage:
Go-Agenda quitMeeting -t | --title Title
-
Description
已登录的用户可以退出 自己参与 的某一会议安排。
退出会议时,需提供一个唯一标识:会议主题(title)。若因此造成会议 参与者 人数为0,则会议也将被删除。
-
Usage:
Go-Agenda clearMeeting
-
Description:
已登录的用户可以清空 自己发起 的所有会议安排。