Ruby on Rails 5 - BDD, RSpec and Capybara
4.2 (225 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
2,065 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Ruby on Rails 5 - BDD, RSpec and Capybara to your Wishlist.

Add to Wishlist

Ruby on Rails 5 - BDD, RSpec and Capybara

Learn behavior-driven development by developing realtime Rails applications
4.2 (225 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
2,065 students enrolled
Last updated 3/2017
English
Current price: $10 Original price: $200 Discount: 95% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 14 hours on-demand video
  • 44 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Build robust web applications using Ruby on Rails complete with test suite
  • Build your own prototypes for social media apps
  • Apply for jobs that have automated testing as a requirement
  • Apply principles learnt here to any framework
View Curriculum
Requirements
  • No prior BDD or testing experience necessary
  • Students with a basic understanding of Ruby on Rails syntax and have ability to understand basic code
Description

Rails 5 with real-time features is finally here! Ruby on Rails 5 - Behavior Driven Development (BDD), RSpec and Capybara provides a thorough introduction to BDD and using it to build web applications using the popular Ruby on Rails framework. Students in my courses routinely land lucrative jobs in the web app development world just using material taught in my courses, including (but not limited to) being Teaching Assistants!

Why BDD to build web applications? The advantages are numerous, and feature specs used extensively in BDD read like plain English which allow end users (business analysts, development teams, client teams among others) and developers to easily communicate with each other using BDD tools. In addition, it is easy for the end users to write the features themselves.

This course is designed for students who have some basic Ruby on Rails or web application development experience who want to take their skills to the next level but have limited or no experience in BDD, automated testing or using tools like RSpec, Capybara, Guard.

Why should students who have Rails experience (any level) take this course?

- Rails 5 - the latest and greatest version of Rails along with it's real-time features applied to chat and comments displayed thoroughly in this course!

- Behavior Driven Development is the focus of this course, the principles of automated testing can easily transcend frameworks!

- RSpec and Capybara experience for automated testing is necessary as a Rails developer, this is covered thoroughly in this course!

- Emulating browser based user behavior to complete a business process from beginning to end, covered thoroughly in this course!

- This is a big resume booster, knowledge and usage of RSpec and automated testing is very important to potential employers and most of the Rails community uses this!

- Complete coverage in terms of features, ALL features are built on basis of automated testing specs, not just selective features

- Build two complex and functional web apps including the featured workout social media web app 

Some other key aspects of this course are:

- Two functioning web apps with full feature coverage

- Rails 5.0 with ActionCable using cloud-based IDE

- Migrations, one-to-many and many-to-many associations

- much, much more!

Join today for the latest cutting edge resource in Ruby on Rails web app development

Who is the target audience?
  • This course is not for absolute beginners in web apps
Students Who Viewed This Course Also Viewed
Curriculum For This Course
145 Lectures
14:42:46
+
Introduction
8 Lectures 45:24

Introduction to the course and instructor

Preview 01:15

Course structure, live help and other resources

Structure, live help and best way to use the course
03:33

Text lecture - course links and other resources
00:15

Sign up with cloud9, a free cloud-based IDE

Sign up for free IDE to use in the course
05:15

Getting familiar with cloud-based IDE

Familiarity with cloud-based IDE
09:20

Start a new rails application

Create new rails app
12:54

Save your work in an online code repository

Deploy code to Github
08:39

Real-time comments feature demo added in section 5

Preview 04:13
+
Testing and setup
34 Lectures 03:27:32

Learn about Model-View-Controller structure of Rails web apps

MVC structure of Rails applications
02:58

Learn about the different types of testing commonly used in development

Introduction to types of testing
02:12

Install and setup the testing components necessary for this course

Preview 06:35

Text follow-up lecture to prior video

Text lecture - install RSpec and Capybara
00:16

Build first feature test to model creating articles behavior

Create first feature test - Create articles
16:10

Text follow-up to prior video lecture

Text lecture - create article feature test
00:45

Create the new article template

New Article template
15:38

Text follow-up to prior video

Text lecture - new article template
00:48

Complete new article feature

Complete New Article
15:31

Text follow-up to previous video lecture

Text lecture - complete new article
00:36

Add bootstrap to the application to help with front-end styling

Add Bootstrap for styling
12:25

Text follow-up to prior video

Text lecture - add bootstrap for styling
00:36

Add Guard so tests run automatically in the background

Add Guard to the app
04:29

Text follow-up to prior video

Text lecture - add Guard
00:17

Modify the default behavior of guard by updating the guardfile

Update Guardfile for wanted behavior
10:52

Text follow-up to prior video lecture

Text lecture - update Guardfile
01:29

Add validations to article model

Add Article validations
17:05

Text follow-up to prior video lecture

Text lecture - add article validations
01:03

Update display views and flash messages

Update display and flash
08:13

Text lecture follow-up to prior video lecture

Text lecture - update display and flash
00:31

Create feature test for listing articles

Create listing articles feature
17:08

Text follow-up to prior video lecture

Text lecture - listing articles feature
01:17

Complete implementing listing articles feature

Complete listing articles feature
06:57

Text lecture - complete listing articles feature
00:32

Implement showing an article feature

Showing an article
12:15

Text lecture follow-up to prior video lecture

Text lecture - showing an article
00:47

Learn how to write request specs and deal with article not found exception

Deal with article not found exception
14:10

Text follow-up to prior video lecture

Text lecture - article not found exception
00:52

Build the edit feature

Editing an article
14:02

Text lecture follow-up to previous video lecture

Text lecture - build the edit feature
01:05

Implement deleting an article feature

Delete an article
09:08

Text follow-up to prior video lecture

Text lecture - delete an article
00:50

Extract code redundancies and refactor

Refactor code
09:05

Text follow-up to prior video lecture

Text lecture - refactor code
00:50
+
User Management
12 Lectures 01:12:41

Add users resource to the app by using devise

Setup devise for user management
06:37

Text follow-up to prior video lecture

Text lecture - setup devise for user management
00:15

Implement users sign up feature

Build users sign up feature
11:37

Text follow-up to prior video lecture

Text lecture - implement users sign up
00:33

Update the existing views

Update views
16:25

Text follow-up to prior video lecture

Text lecture - update views
00:50

Implement user sign-in feature

Build user sign-in
17:12

Text follow-up to prior video lecture

Text lecture - build user sign-in
01:16

Update styling for devise views and use partials

Style devise views and partials
06:00

Text follow-up to prior video lecture

Text lecture - style devise views and partials
00:32

Add the sign out feature to the app

Implement user sign out
10:37

Text follow-up to previous video lecture

Text lecture - implement user sign out
00:46
+
Associations
8 Lectures 01:02:15

Build one-to-many association between users and articles

Build one to many association
13:54

Text lecture follow-up to prior video lecture

Text lecture - build one-to-many association
01:24

Fix article specs which now require updates due to new association

Fix article specs
09:11

Text lecture follow-up to prior video lecture

Text lecture - fix article specs
00:19

Restrict access to app features based on user

Restrict access to features
17:47

Text lecture follow-up to prior video lecture

Text lecture - restrict access
01:26

Restrict access at a controller level, higher level of security

Controller level access restriction
17:20

Text lecture - controller level access restriction
00:54
+
Comments and Real-time features
13 Lectures 01:19:10

Start working on comments feature and spec

will edit
07:09

Text lecture - create comments spec
00:28

Implement a way to enter comments

Add box to enter comments
10:08

Text lecture follow-up to prior video lecture

Text lecture - add box to enter comments
00:36

Add comment model to the app

Build comment model
15:42

Text lecture follow-up to prior video lecture

Text lecture - build comment model
01:04

Complete comments model, controller and more

Comments continued
03:54

Text follow-up to prior video lecture

Text lecture - comments continued
00:25

Implement security for the app by adding restrictions to who can add comments

Add restriction - sign in to comment
17:10

Text lecture follow-up to prior video lecture

Text lecture - restriction to comment
00:55

Preview for the update of the comments feature to be real-time using ActionCable, video in lecture 8

Real-time comment preview
00:09

Update the comments feature to be real-time using Rails 5 ActionCable

Implement real-time comments with ActionCable
19:59

Text follow-up to prior video lecture

Text lecture - implement real-time comments
01:28
+
Workout App - Installation, Setup and User Management
27 Lectures 01:36:36

Introducing and previewing the workout application

Introduction and preview of the finished application
04:56

Creating a new Rails 5 project for the workout application

Homework: Create a new Rails 5 project for the workout application
00:23

The solution to the creation of the workout application homework

Solution: Create a new Rails 5 project for the workout application
08:26

Setting up RSpec and Capybara for testing in the application

Install and setup RSpec and Capybara
04:48

Homework to write 'creating homepage' feature spec

Homework: Write 'creating home page' feature spec
01:52

Solution to the 'creating homepage' feature spec

Solution: Write 'creating home page' feature spec
02:51

Text version of the home page feature spec

Home page feature spec text
00:07

An assignment to add Guard to the project

Homework: Add Guard to the application
00:04

Details of setting up Guard to run specs automatically

Solution: Add Guard to the application
00:24

Using the home page feature spec to drive the building of the home page

Implement 'creating homepage' feature
12:16

Adding the Bootstrap 3 library to the project

Add Bootstrap to application
06:54

Adding Devise to the project for user authentication

setup Devise for user authentication
04:36

Homework to write a feature spec to sign a user up

Homework: Create feature spec for user signup
00:54

Solution to the 'signing users up' feature spec

Solution: Create feature spec for user signup
00:38

Implementing signing users up

Signing users up
08:21

Homework to write a feature spec for signing users in

Homework: Create feature spec for user sign in
01:03

Feature spec for signing users in

Solution: Create feature spec for user sign in
00:20

Implementing signing users in

Signing users in
05:26

Homework to write a feature spec fro signing users out

Homework: Create feature spec for user sign out
00:59

Writing a feature spec to sign users out.

Solution: Create feature spec for user sign out
00:19

Implementing signing users out

Signing users out
02:49

Styling Devise view templates using Bootstrap

Beautify Devise views
07:01

Styling Rails error messages on the page

Style Rails error messages
04:59

Showing/hiding the sign up, sign in and sign out links depending on the state of the application

Homework: Hiding registration and session links
01:38

Implementing hiding the registration and session links

Solution: Hiding registration and session links
05:53

Fix the styling of the page

Fix styling and section wrap up
07:32

Adding a custom stylesheet to the project

Custom stylesheet for the project
01:04
+
Exercise Management
19 Lectures 02:05:27

Introducing workout management

Introduction to exercise management
04:37

Writing the feature spec for creating an exercise

Write 'creating exercise feature' spec
15:35

Implementing the new and index actions of the exercises controller

Add new and index actions to exercises controller
06:35

Implementing the exercise model and its association with users

Create the exercise model and its association with user
03:09

Creating the form partial for creating a new exercise

Create new exercise form partial
09:16

Creating the 'create' and 'show' actions of the exercises controller.

Create exercise create action and show template
08:09

Homework to write the feature spec for unsuccessful creation of an exercise

Homework: Write the feature specs for unsuccessful creation of an exercise
00:59

The feature spec for unsuccessful creating of an exercise.

Solution: Write the feature specs for unsuccessful creation of an exercise
00:27

Writing code to validate the exercise model

Validate exercise model
07:06

Adding date picker to the application

Add jQuery-ui datepicker
08:36

Listing all workouts on the page

Listing workouts on page
12:40

Listing only workouts created in the last 7 days

Listing last 7 days' workouts on page
06:13

Changing the hard-coded date in the feature spec with a dynamically generated date

Fix exercise creation date
03:49

Chart workout data using the D3.js library

Graph workout data with d3js library
13:26

D3.js code for the creating the workout chart

D3.js code for creating graph
01:03

Writing the feature spec for editing an exercise

Write 'editing exercise feature' spec
04:29

Implementing successfully editing an exercise

Implement successful editing of an exercise
08:05

Writing the feature spec to delete an exercise

Write 'deleting exercise feature' spec
04:46

Implementing deleting an exercise

Implement deleting an exercise
06:27
+
Working with Users
8 Lectures 52:38

Working with users

Introduction to section and working with users
01:06

Listing fullnames of members on the home page

List members on home page
11:13

Modifying the signup form to include first and last names

Add first name and last name fields to signup form
10:36

Adding validations to the user model

Add validations to user model
04:20

Fixing the broken specs as a result of the user model validations

Fix broken specs due to validations
05:14

Adding pagination to the home page to limit the number of users displayed on the page

Add pagination to home page
05:35

Writing a feature spec for searching for a user

Write 'searching for users feature' spec
04:29

Implementing searching for users

Implement 'searching for users' feature
10:05
+
Follow/Unfollow Friends
6 Lectures 54:28

Writing a feature spec to enable users to follow each other

Write 'following friends' feature specs
05:28

Writing code to ensure a user does not follow himself or users he is already following

Implement following friends
15:56

Display the list of a user's friends in the "Lounge"

Display friends in the Lounge
14:08

Displaying a friends workout details

Show friend's workout details
09:03

Implementing "unfollowing" users

Unfollow users
08:40

Summary of implementing the exercise resource

Following and unfollowing users wrap up
01:13
+
Create Chatting Resources
5 Lectures 46:52

Introducing chatting feature into the application

Introducing chatting and implement creating room feature
10:14

Implementing sending messages to friends

Sending messages to friends
04:30

Creating a current room

Create current room
13:15

Implementing the messages controller

Implement messages controller
12:06

Changing the layout of the lounge to accommodate the chatting box

Alter layout of the Lounge
06:47
1 More Section
About the Instructor
Mashrur Hossain
4.4 Average rating
7,063 Reviews
62,588 Students
11 Courses
Technology Professional and Entrepreneur

Hi, I'm Mashrur, I have been a technology professional for over a decade and have degrees in Computer Science and Economics

I have worked with Enterprise Software Systems throughout my career with roles played in analysis, development and management. I lead projects using both agile and waterfall methodologies and am well versed in the inner workings of the software development and delivery world.

During my career, I've realized how much I enjoyed training new hires and new team members and helping them succeed. I've dedicated a good amount of time over the last 7 years on-boarding new analysts and developers and working with them to build and maintain systems which puts me in a very unique position of knowing what new entrants to a field or subject need to succeed. I strongly believe in a focus on fundamentals and practice and not in shortcuts or gimmicks.

I'm very passionate about web application development and I prototype and build web apps in entrepreneurial pursuits. Ruby on Rails has proven to be a very strong force in this field and is especially powerful for startups looking to prototype ideas rapidly and subsequently building on that platform as the ideas catch on.

So join me for my comprehensive Ruby on Rails Developer courses as I guide you through the world of web application development using Rails and bringing your ideas to life.

Emmanuel Asante
4.3 Average rating
468 Reviews
5,104 Students
4 Courses
Mining Software Developer and Freelancer

I studied mining engineering and information systems. I completed a Diploma in Datametrics at the University of South Africa with a specialization in Information Systems.

Whilst working in the mines, I developed various mining, rock mechanics and geological applications using languages ranging from Perl, Turbo Pascal to C#, Java and Ruby. In particular, I developed a mining production information management system, as well as a pit crew performance management system, both for Thompson Creek Metals (Endako Mines), and a client management application for Snowden Mining Industry Consultants, using Ruby on Rails. I currently do freelance web development in Ruby on Rails.