# CourseSelect [![Build Status](https://travis-ci.org/PENGZhaoqing/CourseSelect.svg?branch=master)](https://travis-ci.org/PENGZhaoqing/CourseSelect)
##([本组的heroku展示地址](https://courseselectofstormand.herokuapp.com/))
目前完成修改:
* 首页显示所有的课程,与其相关属性。aaa
### [中文教程1](http://blog.csdn.net/ppp8300885/article/details/52594839) [中文教程2](http://blog.csdn.net/ppp8300885/article/details/52601560) [中文教程3](http://blog.csdn.net/ppp8300885/article/details/52669749)
这个样本系统是基于国科大研究生课程 (高级软件工程) 开发的项目,目的是帮助入门者学习RoR (Ruby on Rails)
适合新学者的入手的第一个项目 ([演示Demo戳这里](https://courseselect.herokuapp.com/ )),入门者可以在这个样本系统上增加更多的功能:
* 处理选课冲突、控制选课人数
* 统计选课学分,学位课等
* 增加选课的开放、关闭功能
* 自定义管理员后台
* 基于OAuth的授权登陆
* Excel格式的数据导入
* 绑定用户邮箱(实现注册激活,忘记密码等)
* 站内查找检索 (课程按分类查找,过滤等)
### 目前功能:
* 多角色登陆(学生,老师,管理员)
* 学生动态选课,退课
* 老师动态增加,删除课程
* 老师对课程下的学生添加、修改成绩
* 权限控制:老师和学生只能看到自己相关课程信息
### 截图
## 说明
目前使用的库和数据库:
* 使用[Bootstrap](http://getbootstrap.com/)作为前端库
* 使用[Rails_admin Gem](https://github.com/sferik/rails_admin)作为后台管理
* 使用[Postgresql](http://postgresapp.com/)作为数据库
使用前需要安装Bundler,Gem,Ruby,Rails等依赖环境。
请根据本地系统下载安装[postgresql](https://devcenter.heroku.com/articles/heroku-postgresql#local-setup)数据库,并运行`psql -h localhost`检查安装情况。
## 安装
在终端(MacOS或Linux)中执行以下代码
```
$ git clone https://github.com/PENGZhaoqing/CourseSelect
$ cd CourseSelect
$ bundle install
$ rake db:migrate
$ rake db:seed
$ rails s
```
在浏览器中输入`localhost:3000`访问主页
##使用
1.学生登陆:
账号:`student1@test.com`
密码:`password`
2.老师登陆:
账号:`teacher1@test.com`
密码:`password`
3.管理员登陆:
账号:`admin@test.com`
密码:`password`
账号中数字都可以替换成2,3...等等
## Heroku云部署
项目可直接在Heroku上免费部署
1.fork此项目到自己Github账号下
2.创建Heroku账号以及Heroku app
3.将Heroku app与自己Github下的fork的项目进行连接
4.下载配置[Heroku CLI](https://devcenter.heroku.com/articles/heroku-command-line)命令行工具
5.运行`heroku login`在终端登陆,检查与heroku app的远程连接情况`git config --list | grep heroku`,若未检查到相应的app,请看[这里](http://stackoverflow.com/questions/5129598/how-to-link-a-folder-with-an-existing-heroku-app)
6.运行部署,详情[请戳这里](https://devcenter.heroku.com/articles/getting-started-with-rails4#rails-asset-pipeline)
## 测试
本项目包含了部分的测试(integration/fixture/model test),测试文件位于/test目录下。运行测试:
```
PENG-MacBook-Pro:IMS_sample PENG-mac$ rake test
Run options: --seed 15794
# Running:
.........
Finished in 1.202169s, 7.4865 runs/s, 16.6366 assertions/s.
9 runs, 20 assertions, 0 failures, 0 errors, 0 skips
```
## How to Contribute
先fork此项目,在分支修改后,pull request到主分支
提问请到issues里创建,欢迎contributor!
如果觉得好,给项目点颗星吧~