*** Revisions with Rails 4.2 and RSpec 3 coming soon ***
This course teaches students how to write tests and use those tests to drive the development of Ruby on Rails applications (Test-Driven development or TDD). In the process, an electronic commerce (e-commerce) application in the form of an online bookstore will be developed to demonstrate many concepts in Rails.
This course is for anybody who has played around with Ruby on Rails but does not know how to do TDD. It is also ideal for people transitioning from other languages/frameworks. If you can write "Hello World" in Rails, you can take this course. Students should take this course to learn the valuable skill of TDD and move into the realm of professional software development.
Test first development is a valuable skill that is required in the software development field. Even if you don't intend to become a professional programmer, the knowledge gained will make you a better programmer.
Many introductory courses in Rails do not teach TDD. That is unfortunate because TDD is not all that difficult and the earlier one learns it the better. By taking this course, you will be well equipped to develop applications backed by tests.
The course is project based and for this reason, students have to get their hands dirty and do all the practice exercises mentioned in the videos. The course covers writing authentication machinery from scratch, basic authorization, sending emails from the application. It also covers how to use secure random tokens to make the application more secure.
Email and secure random token are used to craft a password resetting machinery to help users reset their passwords in a secure manner. Students will learn how to integrate credit card processing into their application and charge the customers.
Students will also learn how to handle one-to-many and many-to-many relationships and, in the process learn how to handle nested-forms in Rails.
Students who take this course will be well equipped to develop rock solid web applications in Rails. The course is over thirteen (13) hours long and it can take between two weeks and a month to complete depending on the student's learning style.
Description of the split of the two parts of the course
Overview and explanation of developing locally vs. using cloud9 IDE
Install ruby locally on a mac
Installation of Rails in local development environment
Installing and using git for version control
Sign up for cloud based development environment
Getting familiar with cloud9 environment
Getting familiar with directory tree of cloud9
Installing Ruby on Rails in cloud IDE
Model View Controller structure of Rails Applications
Unit, Functional and Integration tests explained
Create a new Rails application in local env
Adding gems necessary to setup automated testing environment
Code for the Guardfile used in Minitest
Using ruby version manager and other unix processes
Write the first test for index action
Build the feature to pass the test
Introducing items covered in section 3
Sign up for online code repository
Push repository to bitbucket to save work
Sign up for an account with Heroku and deploy code to production
Section 4 introduction of material covered
Part 1 of 2 in example of spec and test creation for a model
Completion of unit test example 1
2nd example of model with unit tests, part 1 of 2
Unit test example model 2, part 2 of 2 with valid email regex and validations
Wrapping up section 4
Write spec and tests for creating article model
Complete articles model by creating and passing tests
Use TDD to create users
Conclusion of part 1 of course using minitest
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.
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.