以下的部署步骤在Mac和Linux环境下均可执行:
- 如果不使用MiniTest进行代码覆盖率测试可以忽略这条。首先自行安装9.6版本以下的postsql数据库,如果大于9.6会导致MiniTest出错。
- ruby版本使用2.4.4 rails 版本使用4.2.8 接着执行以下代码:
$ git clone https://github.com/chengmonk/Courses.git
$ cd Courses
$ bundle install
$ rake db:migrate
$ rake db:seed
$ rails s
本项目已经在Heroku上进行了部署 (演示Demo戳这里)
tips:Heroku的注册和登录可能需要科学上网,请自备梯子。
1.将编好的程序托管在github上
2.创建Heroku账号以及Heroku app
3.heroku login
以后添加新app:heroku creat [appname]
4.heroku会自动将自己添加进git的remote仓库中,如果没有的话可以手动添加heroku分支:heroku git:remote -a csiie
5.运行git push heroku master
向heroku云端进行部署,稍等片刻。从各种环境都会自动进行部署。
6.运行heroku open
,就可以从heroku域名去访问我们所创建的网站了。
- 多角色登陆(学生,老师,管理员)
- 学生动态选课,退课
- 老师动态增加,删除课程
- 老师对课程下的学生添加、修改成绩
- 权限控制:老师和学生只能看到自己相关课程信息
- 处理选课冲突
- 控制选课人数
- 支持多条件课程查询功能
- 设置/删除学位课
- 统计选课学分
- 根据选课结果显示课程表
- 增加选课时间段的控制功能
- 系统公告
- 绑定用户邮箱(实现注册激活,忘记密码等)
- 邮件自动推送成绩
- 采用国科大真实选课数据,共有1100+条课程记录。
结果如下:
4584 fetches, 1026 max parallel, 1.28786e+06 bytes, in 10.0035 seconds
280.947 mean bytes/connection
458.238 fetches/sec, 128741 bytes/sec
msecs/connect: 310.481 mean, 1359.88 max, 262.762 min
msecs/first-response: 4800.2 mean, 8508 max, 362.847 min
4191 bad byte counts
HTTP response codes:
code 200 -- 695
根据我们的需求分析,然后设计了如下的用户注册激活功能流程图:
以下为程序运行截图:
点击完右上角注册按钮后,进入注册页面,填写注册信息,完成后点击注册按钮。 系统校验注册信息,都符合后存储到数据库中,并且给用户发一封激活邮件,邮件发送成功后,返回到主页。 登录注册时所用的邮箱,会收到以上内容,点击邮件中的链接将账户激活。 点击链接后,成功激活会返回如上图的提示。根据我们的需求分析,然后设计了如下的用户找回密码功能流程图:
以下为程序运行截图:
如果在登录的时候忘记密码,就点击下方的忘记密码链接。 在文本框内输入注册时所使用的邮箱 发送邮件成功后,系统会反馈会一个提示 这是邮箱中收到的内容,点开链接进行重置密码的页面 将修改的密码输入之后点击“重置密码” 修改成功拥有公告的增删改查权限,普通用户只有查询功能。
这是主页上显示的公告内容,无论是否登录都可以点击进行查看。 管理员未登录的状态只能对公告进行查看。 管理员登录以后便多了编辑的选项。 进入编辑的选项后,可以对公告进行增删改查的操作。成绩邮件通知,当教师操作学生的成绩时,对应的学生能够及时通过邮件来知道自己的成绩,如果有何疑问也可以及时与任课老师取得联系。
进入成绩管理界面对学生的成绩进行修改。
1.学生登陆:
密码:password
2.老师登陆:
密码:password
3.管理员登陆:
密码:password
账号中数字都可以替换成2,3...等等