It is a final project of COMSW4156 Spring 2021.
Github Repository
Demo Video
Heroku Deployment Link
- Yuankai Xu yx2622
- Yu Li yl4736
- Minhe Zhang mz2864
- Yen-Lin Chen yc3936
-
Install yarn & WebPacker: The tutorial we used.
-
Install Gems
bundle install --without production
-
Database
bundle exec rake db:migrate:reset
bundle exec rake db:seed
In our Heroku deployment, you can use:
username: minhezhangmz2864
password: 123456
to test student account features,
username: cs1
password: 123456
to test faculty account features.
Both accounts have some existing data.
Iteration 2: 100%
All the cucumber files are under lion-message/features
. Examples:
- If the user has not logged in, he can only access to login and signup page.
- GET
/users/new
: show the sign up page. - POST
/users/create
: given the username and password, create a user account. - GET
/sessions/new
show the login page. - POST
/sessions/create
given the username and password, if they are valid, set a session that indicates the user has logged in. If not, show an alert message and redirect to login page.
- GET
- Once a user has logged in, he can see all the post he has made and can create a new post.
- GET
/post/show
: show all the posts created by this user. - GET
/post/new
: show create post page. - POST
/post/create
: given the post parameters, create a new post which belongs to the current user.
- GET
All the Rspec files are under lion-message/spec
The whole folder lion-message
is the source file of our Saas prototype.
- Sign up
- Login
- Logout
- Create posts
- Edit posts
- Reply to posts
- Edit reply
- Search posts
- Filter posts by topic
- Filter posts by tag
- Add tag to post (faculty)
- Sort posts by department
- Sort post by created time
- Webpacker Installation.
- Authentication Guide with Ruby on Rails.
- Heroku Database
- Rails Database Command
- Nested Route in Rails
- Nested Route in Rails Official
These information are for team members only. Feel free to ignore!
- Login to Heroku:
heroku login --interactive
. - Push code to Heroku:
git push heroku master
. - Drop db:
heroku pg:reset
- Migration:
heroku run rake db:migrate
. - Generate data from seed:
heroku run rake db:seed
- User profile
- Login and logout
- Sorting & filtering
- Topic and department mapping
- Status attribute
- Model
- View (Ajax or new page)
- Controller
- Updating email to students