I build this rails project in a RESTful (Representational State Transfer) structure and there are two notable properties. First, every URL represent a Resource. Second, there are different Representations to each Resource. Therefore, developers can easily modify every resource in a standardized structure so the RESTful CRUD is clear without fat code and unrelated methods. Breaking the project into MVC, there are 8 models and 9 controllers with corresponding partial views. The controller folder contains two namespace (account/admin) and cart item controllers while the while the layouts are produced correspondingly. All of the function mentioned is done and optimized. I learned a lot from the process, for example, how do Rails manipulate session, why to use the state machine for order condition, and how to bond in third party payment.
Devise / Bootstrap-Sass / simple_form / carrierwave / mini_magick / font-awesome-rails / aasm / i18n / letter_opener / roadie / pay2go / sqlite3 / pg / rails_12factor / Figaro / fog / delay_job_active_record