- Location: Tinkune,Subidhanagar, Kathmandu, Shriganesh Marg, Kathmandu 44600, Nepal
- Duration: 2 Months
Course details
Ruby on Rails (RoR) is an innovative web application framework that tends to achieve more with less code and effort. This has made RoR one of the most popular web application frameworks and it is being capitalized significantly by the large tech organizations such as Twitter, Slideshare, eBay and so on. The popularity of RoR among the big companies and the enormous earning opportunities (with high pay-scale) has created a huge demand for RoR developers in growing tech industries around the globe. The primary emphasis on simplicity and productivity has positioned this framework differently.
Courses Outline-
Week 1:
- Selecting and using a code editor
- Setup development environment (editor/terminal/console usage)
- Command line basics
- Setup Git and Github
- Overview of Ruby programming language
- Basic programming types: integers, strings
- Standard input/output: gets, puts
- Variable assignment
- Conditional statements
- Loops
- Iterators
- Arrays
- Hashes
- Building a program
- Running a program
- Debugging basics
- Basic HTML and CSS
- Installing Ruby and Rails
Week 2:
- Arrays and Hashes
- Putting everything in the precourse
- together to build a program
- Debugging a Ruby program
- Dealing with growing complexity in a program
- Object Oriented Programming
- Classes and objects
- Instance methods and variables
- Class methods and variables
- Modules
- Thinking in an object oriented way
- Running the finished project from the command line
Week 3:
- HTTP
- Request/response life cycle
- URL mapping and routing requests
- Static/dynamic web pages
- Erb
- Processing Forms
- Passing in parameters
- Response: render, redirect, status codes
- Sessions
- Deploying to Heroku
- Debugging web applications
- Using Sinatra
Week 4:
- Learn to use the terminal, rails console, and code editor
- Use Git and Github for code versioning
- Learn to debug using pry, server logs and reading stack traces
- Convention over configuration
- Don't repeat yourself
- Dissecting a Rails application
- Overview of the main Rails components: routes, controller, ActiveRecord, view templates
- MVC
- REST
Week 5:
- Database concepts: relational database, data modeling, associations
- Migrations for database schema changes
- Active Record
- Associations in Rails: has_many, belongs_to
- Advanced Associations: polymorphic
- Advanced Active Record: Arel, querying the database
- Skinny controllers; Fat models
Week 6:
- Ideation, wireframes, mockups, design and development
- Build from the application core to the peripherals
- Incremental feature building
- HAML
- SASS
- Twitter Bootstrap
- JQuery and coffeescript
- Feature development with Git branching
- Github flow
- Code reviews
Week 7:
- The rationale behind testing
- Technical debt
- Unit, functional, and integration tests
- Development and test databases
- Shoulda matchers
- Ways to write tests
- TDD and red / green / refactor
- Testing with RSpec
- Two styles of writing tests in RSpec
- The builtin RSpec matchers
- Single assertion principle
- Controller tests
- Object generation
- Generate fake data
- Dealing with cardinality and boundary conditions
- Refactor with TDD
- Growing complexity guided by tests
- Interactive debugging for solution discovery
- Respond to feature changes
- Macros
- Shared examples
- Feature specs
- Capybara
- Test doubles and method stubs
- Feature tests with Javascript
- Testing email sending
- Fully integrated API tests
- Isolated API tests
- Message expectations
- Mocking
- Stubs and mocks
Week 8:
- Seeding data
- Search
- Sending emails
- Use random tokens
- Email service providers
- Custom form builders
- Custom form builders as gems
- Complex forms
- Self-referential associations
- Organize cross cutting functionality with Concerns
- Background jobs
- Resque and Sidekiq
- Amazon S3
- Uploading files
- Scheduled jobs
- Skinny controller, fat model
- Structural refactors
- Separating actors
- Securing access
- Wrapping APIs
- Responding to webhooks
- Collect credit card payments
- Checkout
- Payment forms
- Recurring billing
- Handle callback events
- Beyond MVC
Week 9:
- Deploy with procfile and foreman
- Deploy with background jobs
- Secure sensitive data
- Staging and production servers
- Deployment pipeline
- Continuous Integration
- Continuous Delivery
- Production error monitoring
- Production service integration
Week 10:
- Build workflows that involve multiple subsystems
- Complex registration workflow
- Invitation workflow
- User life cycle management
- Social networking
- Taking and charging credit cards
- Recurring billing
- Privileges and access control
- Account and billing management
- Plan cancellation and lock out
Course Location
About Broadway Infosys Nepal
Broadway Infosys Nepal is one of the best inclusive computer training institutes in Kathmandu, Nepal. Established in 2008, our professional IT Training and Development center has been employing experts in this field to impart professional education to trainees. We offer well-structured complete professional training in various Programming Languages, Graphics & Multimedia, Web Designing as well as Development Training that is based upon the current recruitment needs in the IT market.
Further, we also provide training on thorough understanding of:
- Project Requirement Identification and Analysis,
- Software Development Life Cycle,
- Functional Design,
- Testing and Implementation
- Quality Assurance
Since establishment, we have successfully established and maintained network with more than fifty IT and other companies which has made us able to offer and provide our students with internship and job opportunities.
See all Broadway Infosys Nepal courses- JavaScript Full stack web developer virtual internship Virtual Bootcamp + Internship at LaimoonAED 1,449Duration: Upto 30 Hours
- Certificate in Game Development Alpha AcademyNPR 3,449
NPR 37,919Duration: Upto 7 Hours - Personal Computer Fundamentals 1TRAININGNPR 2,931
NPR 20,765Duration: Upto 8 Hours - NPR 401,806Duration: 12 Weeks Live virtual classroom