Rich Donnellan

Rich Donnellan

Treehouse Moderator

Los Angeles, CA

Skills & Experience

  • Job Title

    Front-End Developer

  • Spoken Languages

    • English

316 Achievements

  • Lists, Code, Links and Images
  • Understanding Markdown
  • Exploring Async/Await
  • Understanding Promises
  • Asynchronous JavaScript with Callbacks
  • What is Asynchronous Programming?
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • The Role of Selectors in JavaScript
  • Pseudo-classes and Combinators
  • Selector Basics
  • Modularizing the React Scoreboard Application
  • Getting Started with Redux
  • Basic File Handling
  • PHP Internal Functions
  • PHP Returns & Closures
  • Going Further with Grid Layout
  • Flexible Sized Grids
  • Introducing Grid Layout
  • Putting It All Together
  • Embracing the Process
  • Curating the Work
  • Portfolio Goals
  • Demystifying the Portfolio
  • Going Further with Routing
  • Navigating, Nesting and Redirecting Routes
  • Getting Started with React Router
  • React Component Patterns
  • Stateful Components and Lifecycle Methods
  • Managing State and Data Flow
  • Build Modular Interfaces with Components
  • Stateful Components
  • Introducing Props
  • Thinking in Components
  • First Steps in React
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • Handling Routes in Node.js
  • Getting the REST You Need 2
  • Refining the App
  • Building the Application
  • Combining Array Methods
  • Array Manipulation
  • Array Iteration
  • Reformatting User Input
  • Validating a Form with Regular Expressions
  • Regular Expressions
  • Setting up with Create React App
  • Component Lifecycle
  • Designing Dataflow
  • Stateful Components
  • Thinking in Components
  • First Steps in React
  • Getting Started with CSS Transitions
  • Error Handling
  • Creating Distributable OOP Packages
  • Autoloading and Composer
  • Databases and International Concerns
  • Starting Right with PHP Best Practices
  • PHP Functions Basics
  • Hooking Into WordPress Plugins
  • Action Functions in WordPress
  • Filter Functions in WordPress
  • An Overview of Hooks in WordPress
  • Advanced Directives
  • Concepts on Advanced Functions
  • PHP Basics for WordPress
  • More Advanced PHP for WordPress
  • Add Reusable Logic to Your Sass
  • Write Smart and Efficient CSS with Sass
  • Improve Your Workflow with Sass
  • Getting Started with Sass
  • Advanced Variables, Mixins, Functions, and Placeholders
  • Getting Started with Advanced Sass
  • The Local Development Environment
  • How to Install WordPress on Your Computer
  • Pricing and Project Proposals
  • Finding Your First Project
  • Starting a Freelance Career
  • Getting the REST You Need
  • Improving the Application Code
  • Editing and Filtering Names
  • Adding and Removing Names
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Subqueries
  • Set Operations
  • Joining Table Data with SQL
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Going Mobile
  • Designing Email with CSS
  • Coding HTML Email
  • HTML Email Basics
  • Hello, GitHub!
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Installing a Ruby Development Environment
  • The Logo Sprint
  • Logo Design 101
  • Modular Media Queries
  • Sass Grid System
  • SMACSS and Sass
  • Sass and BEM
  • Getting Modular with Mixins and Functions
  • Getting Started with Angular
  • Debugging, Best Practices, and Production
  • Refactoring with Sass
  • Installing Sass and Setting up the Project
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts with the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • PHP Email Form Errors
  • PHP Email Forms
  • Exterminator
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Creating a Simple Server in Node.js
  • Developing Express Apps Like a Boss
  • Getting Started with Express
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Building a Command Line Application
  • Introduction to Node.js
  • How Ruby Works
  • MASH JavaScript
  • MASH CSS
  • MASH HTML
  • Treehouse Club - JavaScript
  • Treehouse Club - CSS
  • Welcome to the Treehouse Club
  • WWW
  • The Internet
  • Computer Languages
  • Computer Basics
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Installing Programs
  • Environment and Redirection
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Introduction to SEO
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • Console Processes
  • Console Users and Permission
  • Introduction to Design
  • Grid Layout
  • Flexbox Layout
  • Positioning Schemes
  • Float Layout
  • Display Modes
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • Getting Started with Sass
  • Moving Around in the Console
  • Creating an SVG
  • Introduction to SVG
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • A Template Hierarchy Review
  • Media Templates in WordPress
  • Custom Post Type Templates
  • Archive Templates in WordPress
  • Page and Post Templates in WordPress
  • Homepage Templates in WordPress
  • Core WordPress Theme Files
  • How WordPress Templates Work
  • Why Version Control Matters
  • Chrome DevTools Basics
  • Getting Started with Jekyll
  • Shopping List
  • Things That Count
  • Ins & Outs
  • Say Hello to Python
  • Introduction to PHP for WordPress
  • Web Apps
  • Websites
  • Introduction
  • AJAX and APIs
  • jQuery and AJAX
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Custom Media Players
  • Captioning Video
  • Media Basics
  • Programming AJAX
  • AJAX Concepts
  • Website Basics
  • DNS Basics
  • Graphic Basics
  • Securing and Maintaining a MySQL Database
  • SQL Calculating, Aggregating and Other Functions
  • Joining Relational Data Between Tables in SQL
  • Manipulating Schema with SQL
  • Creating Tables and Manipulating Data with SQL
  • Reading Data from Databases with SQL
  • Installing MySQL Server and MySQL Workbench
  • Introduction to Data, Databases and SQL
  • Building Out WordPress Navigation
  • The WordPress Loop
  • WordPress Header and Footer Templates
  • Working with CSS and JS in WordPress Themes
  • Local WordPress Development
  • WordPress Plugin Best Practices
  • Widgets and Custom Menus
  • Custom Post Types and Fields
  • Customizing WordPress Themes
  • WordPress Themes
  • Installing Wordpress
  • Finding Good WordPress Plugins and Themes
  • Managing Comments on a WordPress Blog
  • Working with Media in WordPress Blogs
  • Posts and Pages in WordPress
  • Blogging with WordPress Overview
  • WordPress Admin Settings
  • WordPress User Roles
  • The WordPress Codex
  • Owning a WordPress Site Long Term
  • WordPress Community Management
  • Working with Media in WordPress
  • Adding and Editing Content
  • Getting a WordPress Site
  • Traversing and Manipulating the DOM with JavaScript
  • Creating a Simple Drawing Application
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Building Page Templates in WordPress
  • Starting a WordPress Theme
  • Custom Post Type Templates
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • Structuring Tables
  • Table Basics
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • Getting Started with WordPress
  • The Box Model
  • Understanding Values and Units
  • Adding a Contact Form
  • Basic Selectors
  • Getting Started with CSS
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Getting Started with CSS
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • Customizing the Login Screen
  • Responsive Web Design and Testing
  • Adding Pages to a Website
  • Styling Web Pages and Navigation
  • Customizing Colors and Fonts
  • CSS: Cascading Style Sheets
  • Creating HTML Content
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Functions
  • Objects and Arrays
  • Control Structures
  • Basics
  • HTML First
  • Beginning HTML and CSS
  • Newbie