Session 1:
Getting Started With Rails
IRIS, NITK
About the
Bootcamp
- IRIS is a team of motivated students
working to digitize administrative,
academic and alumni-related
activities.
- The Ruby on Rails Bootcamp is an
opportunity for us to interact with the
next generation and help them make
NITK a better place.
- We are students just like you, not
professionals :)
My Philosophy
- Programming is equal parts engineering and art.
- Programming is (mostly) self-taught.
- Learning small, specific concepts at a time is effective.
- Feedback accelerates growth.
Caution: I take myself too seriously ¯_(ツ)_/¯
Some Web Terms
(Oversimplified)
- A Webpage is a HTML document that
can be viewed by browser.
- A Website is a collection of webpages.
- A Web Application processes client
requests and responds with web
pages.
- A Web Framework solves common
web development problems like data
management, session management
and building attractive UI.
What is MVC? Divides program logic into three
interconnected elements:
- Model: stores and processes data.
- Controller: decides the flow of process.
- View: presents data to user.
Let’s take a closer look with examples.
Example: Exam Grades
How to present data? (View)
Student’s view: marks, grades of all my courses
Faculty’s view: marks, grades of all students and a
statistical breakdown of a particular course
Academic Section’s view: grades of all students
arranged by semester
How to store and process data? (Model)
- Spreadsheets
- Databases
- Cloud Storage
How to decide which view to show? (Controller)
Example: IRIS Forms
How to present data? (View)
Form Creator’s view: show individual and
summary of responses, ability to edit form.
Form Filler' view: ability to fill, edit and delete
form response.
How to store and process data? (Model)
- Spreadsheets
- Databases
- Cloud Storage
How to decide which view to show? (Controller)
How MVC Works
Why Bother with MVC?
- Clean, maintainable code
- Loose coupling of the components
- Logical separation of concerns
It’s alright if you don’t appreciate MVC right now - experience with building applications required :)
What is Ruby on Rails?
- Ruby is a loosely-typed, interpreted
language.
- Ruby “optimizes” for programmer
happiness with clean, elegant syntax.
- Rails is a MVC web framework built on top
of Ruby.
- Models and Controllers are written in Ruby
whereas Views are written in HTML, JS and
other formats.
That’s all of theory - let’s build a Website!
Building a “About Me” Website on Rails
Prerequisites:
- Install Ubuntu (on VM or dual boot)
- Install Git
- Install RVM, Ruby and Rails
- Clone the RoR bootcamp repository

Session 1 - Getting Started With Rails.pptx

  • 1.
    Session 1: Getting StartedWith Rails IRIS, NITK
  • 2.
    About the Bootcamp - IRISis a team of motivated students working to digitize administrative, academic and alumni-related activities. - The Ruby on Rails Bootcamp is an opportunity for us to interact with the next generation and help them make NITK a better place. - We are students just like you, not professionals :)
  • 3.
    My Philosophy - Programmingis equal parts engineering and art. - Programming is (mostly) self-taught. - Learning small, specific concepts at a time is effective. - Feedback accelerates growth. Caution: I take myself too seriously ¯_(ツ)_/¯
  • 4.
    Some Web Terms (Oversimplified) -A Webpage is a HTML document that can be viewed by browser. - A Website is a collection of webpages. - A Web Application processes client requests and responds with web pages. - A Web Framework solves common web development problems like data management, session management and building attractive UI.
  • 5.
    What is MVC?Divides program logic into three interconnected elements: - Model: stores and processes data. - Controller: decides the flow of process. - View: presents data to user. Let’s take a closer look with examples.
  • 6.
    Example: Exam Grades Howto present data? (View) Student’s view: marks, grades of all my courses Faculty’s view: marks, grades of all students and a statistical breakdown of a particular course Academic Section’s view: grades of all students arranged by semester How to store and process data? (Model) - Spreadsheets - Databases - Cloud Storage How to decide which view to show? (Controller)
  • 7.
    Example: IRIS Forms Howto present data? (View) Form Creator’s view: show individual and summary of responses, ability to edit form. Form Filler' view: ability to fill, edit and delete form response. How to store and process data? (Model) - Spreadsheets - Databases - Cloud Storage How to decide which view to show? (Controller)
  • 8.
  • 9.
    Why Bother withMVC? - Clean, maintainable code - Loose coupling of the components - Logical separation of concerns It’s alright if you don’t appreciate MVC right now - experience with building applications required :)
  • 10.
    What is Rubyon Rails? - Ruby is a loosely-typed, interpreted language. - Ruby “optimizes” for programmer happiness with clean, elegant syntax. - Rails is a MVC web framework built on top of Ruby. - Models and Controllers are written in Ruby whereas Views are written in HTML, JS and other formats. That’s all of theory - let’s build a Website!
  • 11.
    Building a “AboutMe” Website on Rails Prerequisites: - Install Ubuntu (on VM or dual boot) - Install Git - Install RVM, Ruby and Rails - Clone the RoR bootcamp repository