Build a Web Application with Ruby on Rails
  • ondemand_video
       Video Length : 15h01m20s
  • format_list_bulleted
       Tasks Number : 50
  • group
       Students Enrolled : 18470
  • equalizer
       Medium Level
Authors

Kevin Gautama is a systems design and programming engineer with 16 years of expertise in the fields of electrical and electronics and information technology.

He teaches at the Hanoi University of Industry in the period 2003-2011 and he has a certificate of vocational training by the Ministry of Industry and Commerce and the Hanoi University of Industry.

From extensive design experience through numerous engineering projects, the author founded the Enziin Academy.

The Enziin Academy is a startup in the field of educational, it's core goal is to training design engineers in the fields technology related.

The Enziin Academy is headquartered in Stockholm-Sweden with an orientation operating multi-lingual and global.

The author's skills in IT:

  • Implementing the application infrastructure on Amazon's cloud computing platform.
  • Linux server system administration (Sysadmin).
  • Design load balancing and content distribution system.
  • MySQL database administration.
  • C/C++/C# Programming
  • Ruby and Ruby on Rails Programming
  • Python and Django Programming
  • The WPF/C# on the .NET Framework Programming
  • The PHP/JAVA Programming
  • Machine Learning and Expert System.
  • Internet of Things.

The author's skills in the fields of electric and electronic:

  • The design of popular CPU / MCU systems.
  • Design FPGA / CPLD system (Xilinx - Altera).
  • Design and programming of DSP systems (Texas Instruments).
  • Embedded ARM system design.
  • The RTOS Programming
  • Design and programming electronic power systems.
  • PLC - inverter - sensor - electric control cabinet industrial.
  • Control systems distributed connection with Server.

Read more...

  • Curriculum
  • 1. Basic Tasks Programming
    • videocam
      Introduction the course

      20m32s
    • videocam
      Install Rails Development Environment on MacOS

      11m26s
    • videocam
      Install Rails Development Environment on Ubuntu

      00m0s
    • videocam
      Create a new application

      11m26s
    • videocam
      Create the models

      11m26s
    • videocam
      Associations between models

      11m26s
    • videocam
      Install Material Design

      11m26s
    • videocam
      Create the layout for app

      11m26s
  • 2. Account Management
    • videocam
      Account management with Devise

      11m26s
    • videocam
      Sign-up and Sign-in with Google

      11m26s
    • videocam
      Use Google reCaptcha

      11m26s
    • videocam
      Sign-up and Sign-in with Facebook - Twitter

      11m26s
    • videocam
      Create the Sign-up page

      11m26s
    • videocam
      Create the Sign-in page

      11m26s
    • videocam
      Create the Profile page

      11m26s
    • videocam
      Two-factor authentication

      11m26s
    • videocam
      Send email for account management

      11m26s
  • 3. Administration Page in Rails
    • videocam
      Backend management with Active Admin

      11m26s
    • videocam
      Two-factor authentication for admin account

      11m26s
    • videocam
      Integrate CKEditor

      11m26s
    • videocam
      Drag and drop categories

      11m26s
  • 4. Product Model Programming
    • videocam
      Attach product image

      11m26s
    • videocam
      Data storage on Amazon S3

      11m26s
    • videocam
      Create view pages for the product

      11m26s
    • videocam
      Pagination and friendly URL

      11m26s
    • videocam
      Search and sort products

      11m26s
  • 5. Order and Payment Tasks
    • videocam
      Create a shopping cart

      11m26s
    • videocam
      Create view pages for cart

      18m31s
    • videocam
      Adjust Quantity Items

      1h32m32s
    • videocam
      Basic Tasks in Order

      11m26s
    • videocam
      Confirm Customer by Google-Facebook-Twitter OAuth2

      00m0s
    • videocam
      Confirm Customer from Email

      21m54s
    • videocam
      Move Items from Cart to Order

      38m32s
    • videocam
      Configure Payment with Paypal

      11m26s
    • videocam
      Make an Order with PayPal

      38m38s
    • videocam
      Payment with Visa/Master

      11m26s
  • 6. The Background Tasks
    • videocam
      Promotion for the product

      11m26s
    • videocam
      Configure background tasks

      11m26s
    • videocam
      Send email for Order Complete

      11m26s
    • videocam
      Create periodic tasks

      11m26s
    • videocam
      Sharing Social Networking

      11m26s
    • videocam
      Create TopMenu Model

      11m26s
    • videocam
      Responsive layout for multi-resolution

      11m26s
  • 7. Deploy Application
    • videocam
      Install The Linux Server

      11m26s
    • videocam
      Install Ruby - Rails and Nginx

      38m33s
    • videocam
      Setup Production Environment

      1h32m31s
    • videocam
      Deploy the application manually

      11m26s
    • videocam
      Automatic Deploy by Capistrano

      11m26s
    • videocam
      Install SSL Certificate

      11m26s
    • videocam
      Install Background Tasks

      1h33m43s
Rubyonrails
Build a Web Application with Ruby on Rails


Note: This is a module belongs to the classes, billing features separate for this module will be allowed if the content matches. The classes using this module are listed below.

Introduction

Ruby on Rails, or Rails, is a server-side web application framework written in Ruby under the MIT License. Rails is a model–view–controller (MVC) framework, providing default structures for a database, a web service, and web pages.

It encourages and facilitates the use of web standards such as JSON or XML for data transfer, and HTML, CSS and JavaScript for display and user interfacing. In addition to MVC, Rails emphasizes the use of other well-known software engineering patterns and paradigms, including convention over configuration (CoC), don't repeat yourself (DRY), and the active record pattern.

David Heinemeier Hansson extracted Ruby on Rails from his work on the project management tool Basecamp at the web application company also called Basecamp. Hansson first released Rails as open source in July 2004, but did not share commit rights to the project until February 2005.

In August 2006, the framework reached a milestone when Apple announced that it would ship Ruby on Rails with Mac OS X v10.5 "Leopard", which was released in October 2007.

Technical

Like many web frameworks, Ruby on Rails uses the model–view–controller (MVC) pattern to organize application programming. In a default configuration, a model in the Ruby on Rails framework maps to a table in a database and to a Ruby file.

For example, a model class User will usually be defined in the file 'user.rb' in the app/models directory, and linked to the table 'users' in the database. While developers are free to ignore this convention and choose differing names for their models, files, and database table, this is not common practice and is usually discouraged in accordance with the "convention-over-configuration" philosophy.

A controller is a server-side component of Rails that responds to external requests from the web server to the application, by determining which view file to render. The controller may also have to query one or more models for information and pass these on to the view.

For example, in an airline reservation system, a controller implementing a flight-search function would need to query a model representing individual flights to find flights matching the search, and might also need to query models representing airports and airlines to find related secondary data.

In this course, we will build an application, it is a simple shop.

Table of Content

1. Basic Tasks Programming

  • The tasks to do in this course
  • Install the development environment Rails
  • Create and configure new application
  • Setup the IDE and GIT repository
  • Create models for the application
  • Associations between models
  • Install Material Design
  • Create the layout for app

2. Account Management

  • Account management with Devise
  • Sign-up/Sign-in with Google
  • Use Google reCaptcha
  • Sign-up/Sign-in with Facebook - Twitter
  • Create the Sign-up page
  • Create the Sign-in page
  • Create the Profile page
  • Two-factor authentication
  • Send email for account management

3. Administration Page in Rails

  • Backend management with Active Admin
  • Two-factor authentication for admin account
  • Integrate CKEditor
  • Drag and drop categories

4. Product Model Programming

  • Attach avatar image
  • Data storage on Amazon S3
  • Create view pages for the product
  • Pagination and friendly URL
  • Search and sort products

5. Order and Payment Tasks

  • Create a shopping cart
  • Build Order method
  • Payment with Paypal
  • Payment with Visa/Master

6. The Background Tasks

  • Promotion method for the product
  • Configure background tasks
  • Send email for Order
  • Create a periodic task run in the background
  • Sharing Bar for social networking
  • Optimize the application
  • Responsive layout for multi-resolution

7. Deploy Application

  • Install a Linux Server
  • Deploy the application manually
  • Deploy the application with Capistrano
  • Install SSL certificate and background tasks