Skip to content

appwebtech/Ruby_on_Rails_Certification

Repository files navigation

Ruby on Rails Specialization

Johns Hopkins University

Whiting School of Engineering (via Coursera)

Joseph M Mwania's Ruby on Rails Specialisation Certification Timeline.

JHU

Introduction

Table of Contents

Table of Contents

Introduction to Ruby on Rails

Course Modules

Course Contents.

MODULE 1

Installing Software

  • Course Introduction.
  • Setting Up the Development Environment.
  • Github Repository for Module 1.
  • Recommended Books.
  • Software installation for Linux Users.
  • Software installation for Mac Users.
  • Software installation for Windows Users.
  • Editors & IDEs for Ruby on Rails.
  • the controller class will implement actions through internal service logic.

Git and Github

  • Introduction to Git.
  • Local Git Repository.
  • Remote Repos and Github.

MODULE 2

Getting to know Ruby

  • Ruby Basics.
  • Flow of Control.
  • Functions.
  • Blocks.
  • Files.
  • Programming Assignment - Case Statement.

Collections and String APIs

  • String.
  • Arrays.
  • Ranges.
  • Hashes.
  • Programming Assignment -Collections.

OOP in Ruby

  • Classes.
  • Class Inheritance.
  • Modules.
  • Scope.
  • Access Control.
  • Practice Programming Assignment: Classes.

Unit Testing with RSpec

  • Introduction to Unit Testing.
  • Introduction to RSpec.
  • RSpec Matchers.
  • Programming Assignment -Caculating Maximum Word Frequency.

MODULE 3

Core Concepts

  • Introduction to Ruby on Rails.
  • Introduction to Rails.
  • Creating your first application.
  • Controller and View.
  • Routes.

Diving Deeper Into Rails

  • Moving Business Logic Out of View.
  • Helper.

Building a Ruby on Rails Application

  • Introduction to HTTParty.
  • Bundler.
  • Rails & HTTParty Integration.
  • CSS, Parameters & Root Path.
  • Practice Programming Assignment: HTTP Client.

#### Deploying to Heroku and Verification

  • Deploying to Heroku.
  • Blackbox Testing.
  • Debugging Rails Applications.
  • Programming Assignments: Coding Assignment - Recipe Hunter.

Rails with Active Record and Action Pack

Course Modules

Course Contents.

MODULE 1

Introduction to Active Record

Beginning Databases in Rails

  • Course Introduction
  • Introduction to Active Record
  • Scaffolding
  • Database Setup and SQLite
  • Introduction to Migrations
  • Creating and Modifying Tables and Columns

Metaprogramming in Ruby

  • Dynamic Dispatch
  • Dynamic Methods
  • Ghost Methods

Introduction to Active Record

  • Introduction to Active Record
  • Active Record CRUD: Part 1
  • Active Record CRUD: Part 2
  • Active Record Queries

MODULE 2

Deep Dive into Active Record

Advanced Querying

  • Deep Dive into Active Record.
  • Seeding the Database.
  • SQL Fragments and Dangers of SQL Injection
  • Array and Hash Condition Syntax
  • Advanced Querying
  • Programming Assignment

Expressing Database Relationships

  • One-to-One Association
  • One-to-Many Association
  • Many-to-many Association
  • Rich-to-Many Association
  • Relationships

More Active Record

  • Active Record Scopes
  • Validations
  • N+1 Queries Issue and DB Transactions
  • Programming Assignment (Active Record Relationships)

MODULE 3

###Introduction to Action Pack

Introduction to Action Pack

  • Introduction to Action Pack
  • REST and Rails
  • Creating your first application
  • Action Park (Quiz)

Restful Actions

  • Restful Actions: Index
  • Restful Actions: Show and Destroy
  • Restful Actions: New and Create
  • Strong Parameters and Flash
  • Restful Actions: Edit and Update
  • Restful Actions (Quiz)

Action View

  • Partials
  • Form Helpers and Layouts
  • Programming Assignment (Action Pack)

MODULE 4

Security and Nested Resources in Action Pack

Nested Resources

  • Security and Nested Resources in Action Pack
  • Building an App with Multiple Resources
  • Nested Resources: Part 1
  • Nested Resources: Part 2
  • Nested Resources: (Quiz)

Security

  • Authentication
  • HTTP Sessions and Cookies
  • Sessions Controller and View
  • Authorization
  • Authentication (Quiz)

Enhancements and Deployment

  • Pagination
  • Deploying to Heroku and Enabling SSL
  • Nested Resources, Security, and Pagination (Programming Assignment)

Ruby on Rails Web Services and Integration with MongoDB

Course Modules

Course Contents.

MODULE 1

Introduction to MongoDB, MongoDB-Ruby API, and CRUD

Introduction to NoSQL and MongoDB.

  • Introduction to MongoDB, Mongo-Ruby API, and CRUD.
  • Introduction to NoSQL.
  • Introduction to MongoDB
  • Mongo Installation.
  • MongoDB Basics.
  • Practice Programming Assignment - MongoDB Ruby Driver Connection.

CRUD

  • Inserting Documents.
  • Practice Programming Assignment - MongoDB Ruby Driver CRUD.
  • Find.
  • Paging.
  • Advanced Field.
  • Replace, Update and Delete.

Integrating MongoDB and Rails

  • Introduction: Integrating MongoDB with Ruby Driver.
  • Rails Setup.
  • DAO Class Infrastructure.
  • CRUD.
  • Scaffolding.
  • MVC Application.
  • MongoLab Setup.
  • Heroku Setup.
  • Programming Assignment (Integrating MongoDB Ruby Driver and Rails).

MODULE 2

Aggregation Framework, Performance, and Advanced MongoDB

Aggregation Framework

  • Aggregation Framework, Performance, and Advanced MongoDB.
  • Introduction to Aggregation.
  • Practice Programming Assignment - Aggregation Framework.
  • $projetc.
  • $group.
  • $match.
  • $unwind.

Schema Design

  • Schema Design.
  • Normalization.
  • Relationships.
  • Pratice Programming Assignment: (Schema Design).

GridFS and Geospatial

  • GridFS.
  • GridFS Demo 1.
  • GridFS Demo 2.
  • GridFS Demo 3.
  • Geospatial.
  • Geospatial Demo.

Indexes

  • Introduction to Indexes.
  • Creating Indexes.
  • Listing and Deleting Indexes.
  • Unique, Sparse & TTL Indexes.
  • Programming Assignment: (Advanced MongoDB Ruby Driver Topics).

MODULE 3

Mongoid

Introduction to Mongoid

  • Introduction to Mongoid.
  • Document Class.
  • Mongoid CRUD.
  • Movie Application Setup.
  • Practice Programming Assignment: (Mongoid Setup and Document CRUD.)

Relationships.

  • 1:1 Embedded Relationships.
  • M:1 Linked Relationships.
  • 1:M Embedded Relationships.
  • M:1 Embedded Relationships.
  • 1:1 Linked Relationships.
  • M:M Linked Relationships.
  • Constraints and Validation
  • Constraints and Validation: Demo.
  • Practice Programming Assignment: (Mongoid Relationships).

Queries

  • Queries (Find)
  • Queries (Where)
  • Pluck and Scope.
  • Scaffolding.
  • Programming Assignment: (Mongoid and Rails Scaffold).

MODULE 4

Web Services

Introduction to Web Services

  • Introduction to Web Services.
  • REST and RMM.
  • Resources.
  • URI's.
  • Nested URI's.
  • Query Parameters.
  • Methods.
  • Web Services and REST. (Quiz).

Web Service Interface Topics

  • Idempotence.
  • Representations.
  • Versioning.
  • Content Negotiations.
  • Headers and Status.
  • Interfaces. (Quiz).

Caching

  • Client Caching.
  • Cache Revalidation Headers.
  • Cache Controls.
  • Server Caching.
  • Caching. (Quiz)

Security

  • OAuth2.
  • Assembly.
  • Device.
  • Integrated Authentication.
  • OAuth Integration.
  • Programming Assignment: (Web Services)

HTML, CSS, and Javascript for Web Developers

Course Modules

Course Contents.

MODULE 1

Introduction to HTML5

HTML Basics

  • What is HTML5.
  • Relevant History of HTML.
  • Anatomy of an HTML Tag.
  • Basic HTML Document Structure.
  • HTML Content Models.

Essential HTML5 Tags

  • Inserting Documents.
  • Practice Programming Assignment - MongoDB Ruby Driver CRUD.
  • Find.
  • Paging.
  • Advanced Field.
  • Replace, Update and Delete.

Integrating MongoDB and Rails

  • Heading Elements (and some new HTML5 semantic comments).
  • Lists.
  • HTML Character Entity References.
  • Creating Links.
  • Displaying Images.
  • Quiz.

MODULE 2

Introduction to CSS3

Cascading Style Sheets Basics

  • Introduction to CSS3.
  • Power of CSS.
  • Anatomy of a CSS Rule.
  • Element, Class and ID Selectors.
  • Combining Selectors.
  • Pseudo-Class Selectors.
  • Quiz.

CSS Rules Conflict Resolution and Text Styling

  • Style Placement.
  • Conflict Resolution Part 1.
  • Conflict Resolution Part 2.
  • Styling Text Part 1.
  • Styling Text Part 2.
  • Quiz

The Box Model and Layout

  • The BoxModel Part 1.
  • The BoxModel Part 2.
  • The BoxModel Part 3.
  • The background Property.
  • Positioning Elements by Floating.
  • Relative and Absolute Element Positioning Part 1.
  • Relative and Absolute Element Positioning Part 2.
  • Quiz.

Introduction to Responsive Design

  • Media Queries (Part 1).
  • Media Queries (Part 2).
  • Responsive Design Part 1.
  • Responsive Design Part 2.
  • Quiz.

Introduction to Twitter Bootstrap

  • Introduction to Twitter Bootstrap Part 1.
  • Introduction to Twitter Bootstrap Part 2.
  • The Bootstrap Grid System Part 1.
  • The Bootstrap Grid System Part 2.
  • Coding Assignment.

MODULE 3

###Coding the Static Restaurant Site

Visit with the Client & Setup Overview

  • Design Overview.
  • Ground Rules and Overview of Setup.
  • Quiz.

Coding the Navigation Bar of the Site.

  • Coding Basics of Navbar Header Part 1.
  • Coding Basics of Navbar Header Part 2.
  • Coding Button for Future Collapsible Menu.
  • Coding Nav Menu Buttons Part 1.
  • Coding Nav Menu Buttons Part 2.
  • Fixing Navbar Layout, Text and Dropdown Menus Part 1.
  • Fixing Navbar Layout, Text and Dropdown Menus Part 2.

Coding the Homepage and the Footer

  • Coding the Jumbotron.
  • Coding Navigation Tiles Part 1.
  • Coding Navigation Tiles Part 2.
  • Coding the Footer Part 1.
  • Coding the Footer Part 2.

Coding the Restaurant Menu Pages

  • Coding the Menu Categories Part 1.
  • Coding the Menu Categories Part 2.
  • Coding the Single Menu Categories Part 1.
  • Coding the Single Menu Categories Part 2.
  • Testing the Mobile Version on a Real Phone.
  • Coding Assignment.

MODULE 4

Introduction to Javascript

Javascript Basics

  • Introduction to Javascript.
  • Adjusting Development Environment for Javascript Development.
  • Where to Place Javascript Code.
  • Defining Variables, Functions and Scope Part 1.
  • Defining Variables, Functions and Scope Part 2.
  • Quiz.

Javascript Types and Common Language Constructs

  • Javascript Types Part 1.
  • Javascript Types Part 2.
  • Common Language Constructs Part 1.
  • Common Language Constructs Part 2.
  • Common Language Constructs Part 3.
  • Handling Default Values.
  • Quiz.

Objects and Functions in Javascript

  • Creating Objects Using 'new Object()' Syntax.
  • Creating Objects Using Object Literal Syntax.
  • Functions Explained.
  • Passing Variables by Value vs by Reference Part 1.
  • Passing Variables by Value vs by Reference Part 2.
  • Function Constructors, Prototypes and the 'this' Keyword.
  • Object Literals and the 'this' Keyword.
  • Quiz.

Arrays, Closures, and Namespaces.

  • Arrays Part 1.
  • Arrays Part 2.
  • Closures.
  • Fake Namespaces.
  • Immediately Invoked Function Expressions (IIFES).
  • Quiz.
  • Coding Assignment.

MODULE 5

Using Javascript to Build Web Applications

Document Object Model Manipulation

  • DOM Manipulation Part 1.
  • DOM Manipulation Part 2.
  • Handling Events.
  • The 'event' Argument.
  • Quiz.

Introduction to Ajax

  • HTTP Basics.
  • Ajax Basics Part 1.
  • Ajax Basics Part 2.
  • Ajax Basics Part 3.
  • Quiz.
  • Processing JSON.
  • Quiz.

Using Ajax to Connect Restaurant Site with Real Data

  • Fixing Mobile Nav Menu Automatic Collapse.
  • Dynamic Loading Home View Content.
  • Dynamically Loading Menu Categories View Part 1.
  • Dynamically Loading Menu Categories View Part 2.
  • Dynamically Loading single Categories View.
  • Changing 'active' Button Style Through Javascript.
  • Coding Assignment.

Single Page Web Applications with AngularJS

Course Modules

## Course Contents. - [Single Page Web Applications with AngularJS](#single-page-web-applications with-angularjs) - [Introduction to AngularJS](#introduction-to-angularjs) - [Filters, Digest Cycle, Controller Inheritance, and Custom Services](#filters-digest-cycle-controller-inheritance-and-custom-services) - [Promises, Ajax, and Custom Directives](#promises-ajax-and-custom-directives) - [Components, Events, Modules, and Routing](#components-events-modules-and-routing) - [Form Validation, Testing, and Restaurant Site Development](#form-validation-testing-and-restaurant-site-development)

MODULE 1

Introduction to AngularJS

Why AngularJS? Why Not Keep Things Simple?

  • Why Not Keep Things Simple?.
  • Why Does Code Get Complex Part 1?.
  • Why Does Code Get Complex Part 2?.
  • Quiz.
  • Model - View - View - Model (MVVM).
  • Quiz

AngularJS Installation & Basics

  • AngularJS Installation and First Simple App.
  • Quiz.
  • Sharing Data With The View Through Scope.
  • Implementing NameCalculator Example in AngularJS.
  • Whats Behind the 'Magic': Custom HTML Attributes.
  • Quiz.

Dependency Injection, Interpolation

  • Dependency Injection.
  • How Dependency Injection Works in Javascript.
  • Quiz.
  • Protecting Dependency Injection from Minification.
  • Quiz.
  • Expressions and Interpolation Part 1.
  • Expressions and Interpolation Part 2.
  • Coding Assignment.

MODULE 2

Filters, Digest Cycle, Controller Inheritance, and Custom Services

Filters, Digest Cycle and Data Binding

  • Filters.
  • Creating Custom Filters Part 1.
  • Creating Custom Filters Part 2.
  • Creating Custom Filters Part 3.
  • Digest Cycle Part 1.
  • Digest Cycle Part 2.
  • Digest Cycle Part 3.
  • $digest and $apply.
  • 2-way, 1-way and 1-time Data Binding.
  • Quiz.

Looping, Controller As Syntax

  • ng-repeat.
  • Filtered ng-repeat.
  • Prototypal Inheritance Part 1.
  • Prototypal Inheritance Part 2.
  • Scope Inheritance Part 1.
  • Scope Inheritance Part 2.
  • Controller AS Syntax.
  • Quiz

Creating and Configuring Custom Services

  • Custom Services Part 1.
  • Custom Services Part 2.
  • Custom Services with .factory() Part 1.
  • Custom Services with .factory() Part 2.
  • Custom Services with .provider() Part 1.
  • Custom Services with .provider() Part 2.
  • ng-if, ng-show and ng-hide.
  • Quiz.
  • Coding Assignment.

MODULE 3

Promises, Ajax, and Custom Directives

Asynchronous Behavior, Promises and Ajax in Angular

  • Asynchronous Behavior with Promises and $q Part 1.
  • Asynchronous Behavior with Promises and $q Part 2.
  • Ajax with $http Service Part 1.
  • Ajax with $http Service Part 2.
  • Quiz.

Introduction to Custom Directives.

  • Directives: Dynamic HTML Part 1.
  • Directives: Dynamic HTML Part 2.
  • Restrict Property.
  • Directive's Isolate Scope: "=" and "@" Part 1.
  • Directive's Isolate Scope: "=" and "@" Part 2.
  • Using Controllers Inside Directives Part 1.
  • Using Controllers Inside Directives Part 2.

Directive APIs, Manipulating the DOM, and transclude

  • Direcrtive APIs and "&" Part 1.
  • Direcrtive APIs and "&" Part 2.
  • Manipulating the DOM with link Part 1.
  • Manipulating the DOM with link Part 2.
  • Using Directive's translude to Wrap Other Elements Part 1.
  • Using Directive's translude to Wrap Other Elements Part 2.
  • Quiz.
  • Coding Assignment.

MODULE 4

Components, Events, Modules, and Routing

Components and Component-Based Architecture

  • Components & Component-Based Architecture Part 1.
  • Components & Component-Based Architecture Part 2.
  • Components & Component-Based Architecture Part 3.
  • Components & Component-Based Architecture Part 4.
  • Quiz.

AngularJS Event System and Modules

  • AngularJS Event System Part 1.
  • AngularJS Event System Part 2.
  • Modules Part 1.
  • Modules Part 2.
  • Quiz.

Introduction to Single Page Routing With ui-router

  • Routing Part 1.
  • Routing Part 2.
  • Routing State with Controller Part 1.
  • Routing State with Controller Part 2.
  • Quiz.

Handling Data with Routing

  • Routing State with resolve Part 1.
  • Routing State with resolve Part 2.
  • Routing State with URL Parameters Part 1.
  • Routing State with URL Parameters Part 2.
  • Quiz.

Nested Views and Transition Events

  • Routing State with Nested Views Part 1.
  • Routing State with Nested Views Part 2.
  • Router State TRansition Events Part 1.
  • Router State TRansition Events Part 2.
  • Quiz.
  • Coding Assignment.

MODULE 5

Form Validation, Testing, and Restaurant Site Development

Form Validation and Introduction to Testing Javascript

  • Form Validation Part 1.
  • Form Validation Part 2.
  • Tetsing Javascript with Jasmine Part 1.
  • Tetsing Javascript with Jasmine Part 2.
  • Quiz.

Testing AngularJS Controllers and Services

  • Testing AngularJS Controllers 1.
  • Testing AngularJS Controllers 2.
  • Testing AngularJS Controllers 3.
  • Testing AngularJS Controllers 4.
  • Quiz.
  • Testing AngularJS Services and $http Part 1.
  • Testing AngularJS Services and $http Part 2.
  • Quiz.

Testing AngularJS Directives and Components

  • Testing AngularJS Directives Part 1.
  • Testing AngularJS Directives Part 2.
  • Testing AngularJS Directives Part 3.
  • Testing AngularJS Directives Part 4.
  • Quiz.
  • Testing AngularJS Components Part 1.
  • Testing AngularJS Components Part 2.
  • Quiz

Visit With Client, Old Site Overview, Restaurant Server Setup

  • Visit with the Client Part 1.
  • Visit with the Client Part 2.
  • Non-AngularJS Website Overview Part 1.
  • Non-AngularJS Website Overview Part 2.
  • Restaurant Server Setup Part 1.
  • Restaurant Server Setup Part 2.

Coding the Restaurant Site in AngularJS

  • Basic Structure of the Restaurant App Part 1.
  • Basic Structure of the Restaurant App Part 2.
  • Coding up a Loader/Spinner.
  • Coding up $http Interceptor.
  • Quiz.
  • Coding up Menu Categories Part 1.
  • Coding up Menu Categories Part 2.
  • Coding up Menu Categories Part 3.
  • Single Category View Part 1.
  • Single Category View Part 2.
  • Single Category View Part 3.
  • Coding Assignment.

Capstone Project

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published