A simple blog application from my first week with Ruby on Rails.
Note
|
Facebook login only works on Heroku due to SSL certificate. |
-
以 Ruby on Rails 開發簡單部落格, 詳細規格如下:
-
此部落格含 Author (作者)、Post (文章)、Comment (評論留言) 三基本元素
-
網站使用者可以分頁瀏覽文章列表
-
網站使用者可以檢視個別文章內容與其所屬評論
-
網站使用者可在檢視個別文章內容時留下評論留言
-
網站使用者可以註冊與登入成為 Author (可以 Devise 套件完成)
-
Author 可以建立、編輯與刪除個別文章
-
前述功能完成後,最後調整 Auther 的登入授權改以 Facebook OAuth 完成
-
以上開發的專案程式請置於 Github,以讓我們了解你的開發過程。
-
以上開發的網站,請將結果部署至 Heroku,以讓我們看到你的開發成果。
-
(加分項目) 將以上開發的網站,以 Docker 打包,部署至 GCP (Google cloud platform), 讓系統運行在 Container Engine 或 Compute Engine 之上。
-
✓ Domain: Post (New Post, Show Post, List Posts, Update Post, Delete Post) (http://guides.rubyonrails.org/getting_started.html)
-
✓ Domain: Comment (http://guides.rubyonrails.org/getting_started.html)
-
✓ Domain: Author (https://github.com/plataformatec/devise#getting-started)
-
✓ Registration (https://github.com/plataformatec/devise#getting-started)
-
✓ Authentication (https://github.com/plataformatec/devise#getting-started)
-
✓ Resource ownership checking
-
✓ Unit test & Integration test (http://guides.rubyonrails.org/testing.html) (http://guides.rubyonrails.org/active_record_validations.html) (http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html)
-
✓ Facebook login (https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview) (https://github.com/omniauth/omniauth/wiki/Integration-Testing) (https://medium.com/cedarcode/rails-5-2-credentials-9b3324851336)
-
✓ Post Pagination (https://github.com/kaminari/kaminari) (https://github.com/mislav/will_paginate)
-
✓ Postgres
-
✓ Heroku (https://devcenter.heroku.com/articles/getting-started-with-rails5)
-
✓ Dockerize
-
✓ Google Cloud Platform (https://cloud.google.com/kubernetes-engine/docs/tutorials/hello-app) (https://cloud.google.com/ruby/tutorials/bookshelf-on-kubernetes-engine) (https://cloud.google.com/sql/docs/postgres/connect-kubernetes-engine)
-
✓ Style
-
The most productive
professional
web framework -
Practicing DDD and maybe TDD
-
Super full stack ORM
-
Built-in DB migration
-
Bi-directional association in ORM (https://en.wikibooks.org/wiki/Java_Persistence/Relationships)
-
Many to many association (https://en.wikibooks.org/wiki/Java_Persistence/Relationships)
-
Error message stored in the model