Learn to use an API to scrape Craigslist apartment rental data.
Build a beautiful web app to display live listings with filters.
In this course, you'll learn to gather data through an API and use that data to build a custom Ruby on Rails web app. You'll write a script in the Ruby programming language to collect and process the data you receive, then save the information to a database, and build a front-end interface for users to interact with it. By the end of the course, you'll have learned to automate the data collection process and have an app that's live on Heroku.
Understand more about APIs and why they can be so powerful. See a demonstration of the final app you'll be building.
Register to use the 3taps API and use its Reference API to explore the 3taps dataset.
Learn about the anchor system that 3taps uses to track data requests through its Polling API. Use the Polling API to retrieve our first set of real data.
Add additional parameters to your data request to filter the data that you want to see.
Write a custom script in the Ruby programming language to submit a request to the 3taps API and view the results in the command line.
Create a new Ruby on Rails web app and learn about rake tasks. Build a custom rake task to make API requests.
Modify your custom rake task to save the retrieved data into a SQLite database in your app.
Add the Bootstrap framework to style elements on the page. Learn about different data types and use Rails helpers to format the display of the information.
Use the 'will_paginate' and 'will_paginate-bootstrap' gems to divide content into multiple pages.
Revisit your original data request and extract additional details to save to your database. Account for possibly absent or incomplete data.
Incorporate additional data fields into the display of your web app.
Collect image URLs from your API request and store them in a separate, linked database. Display images that are hosted on an external URL.
Use the 3taps Reference API to write a rake task to scrape location data into a new database.
Revise your existing rake task to use a reference table to process data prior to saving it into a database.
Create a search form with multiple fields and save the search parameters in the URL. Use those to filter the results displayed on the page.
Convert text inputs in the search filter to more intuitive checkboxes and dropdown menus.
Use Bootstrap's grid system to organize the input fields of the search filter. Revise the input field labels and add placeholder text to improve the overall look.
Add a homepage containing a jumbotron with a high-resolution image. Add CSS styling to give your homepage a more professional look.
Add a thumbnail image preview to the search results page. Use CSS techniques to resize images stored on external URLs and include a default image for post's without any uploaded images.
Use the Bootstrap grid system to design the layout of the page with a post's details. Use 'if statements' to suppress the display of missing data fields.
AUse CSS techniques to scale images proportionally to fit inside their columns. Apply background colors, borders, margins, and other properties.
Set up your rake task to retrieve all the latest postings when run.
Modify your Gemfile and set up your app to save with Git, store code online with GitHub, and launch live on Heroku.
Write a new rake task to clean out stale data. Learn to automate both the collection and removal of data.
Review your progress, reflect on the concepts that have been covered, and consider some next steps.
“I also bought other tutorials on Rails earlier and found yours to be project-oriented and straight to the point. You don't waste so much time coding but instead show the way how things can be created as the final outcome, which I really admire, especially that your explanations are easy to understand. ” - Michael J.
"The scope/angle of this course seems perfectly tailored to what I'm looking for. From the looks of it so far, your course is similar in scope to Hartl's book, but takes a far more practical, hands-on approach - also it helps a great deal to see it in action vs. trying to follow along with just a book." - Chris S.
"Studying a new programming language can be daunting given the number of tools and concepts that need interact with each other. This course tackles that issue by providing a practical approach to learning ruby on rails: you get to build your own functional website" - Emmanuel T.