Hanley Chan

Hanley Chan

Vancouver, BC
Open to Work

27,771

Total Points

Points are earned whenever you take an important action on Treehouse.
Learn more about when and how points are earned.

Skills & Experience

  • Job Title

    Software Developer

  • Spoken Languages

    • English
    • Cantonese

313 Achievements

  • Prepare and Plan
  • Gotchas and Wins
  • Iteration
  • Creation
  • Delivering the MVP
  • Creating the MVP
  • Harnessing the Power of Objects
  • Meet Objects
  • Letter Game App
  • Number Game App
  • Shopping List App
  • Logic in Python
  • Python Data Types
  • Python For Beginners
  • Introduction to Front-End Frameworks
  • Project Setup
  • PHP Loops
  • PHP Arrays
  • PHP Conditionals
  • PHP on the Web
  • Daily Exercise Program
  • Unit Converter
  • Getting to Know PHP
  • Subqueries
  • Set Operations
  • Joining Table Data with SQL
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Advanced Tooling
  • IDE Exploration
  • How it Works
  • Efficiency!
  • Exploring the Java Collections Framework
  • WordPress Admin Settings
  • WordPress User Roles
  • WordPress Plugins
  • WordPress Themes
  • The WordPress Customizer
  • Managing Media in WordPress
  • Managing Content in WordPress
  • How to Install WordPress on Your Computer
  • Adding 3D Effects with CSS
  • Getting Started with CSS Transforms
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • Organizing Data
  • Getting the REST You Need
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Introduction to SEO
  • 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
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Getting There
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • Working with Text
  • Ordering, Limiting and Paging Results
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Tools for Testers
  • How To Test Our Code
  • Building a Collection
  • Building the Recipe
  • Understanding Classes
  • Why Object-Oriented Programming?
  • PHPDB Stage 5: Search
  • PHPDB Stage 4: Pagination with LIMITs
  • PHPDB Stage 3: Using Relational Data
  • PHPDB Stage 2: Querying the Database with PHP
  • PHPDB Stage 1: Databases and PHP
  • Relating Models
  • Laravel CRUD
  • Validation & Flash Messages
  • Laravel Forms
  • Laravel & Databases
  • Laravel Controllers
  • Laravel Project Setup
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • PHP Email Form Errors
  • PHP Email Forms
  • PHP Inventory
  • Delivering the MVP
  • Creating the MVP
  • Building Forms with Bootstrap
  • Getting Familiar with HTML and CSS
  • HTML: The Structural Foundation of Web Pages and Applications
  • Make It Beautiful with CSS
  • Adding a New Web Page
  • Using Bootstrap Components
  • Responsive Layouts with the Bootstrap Grid
  • Harnessing the Power of Objects
  • Meet Objects
  • Perfecting the Prototype
  • Getting to Know Bootstrap 4
  • Laravel Getting Started
  • PHP Includes
  • Limiting Results in Queries
  • Using Relationship Tables
  • Filtering Input for Queries
  • Querying the Database
  • Connecting to MySQL
  • Paginating a List: Model and View
  • Paginating a List: Controller
  • Adding Search: Model
  • Adding Search: Controller & View
  • Refactoring the Codebase
  • Cleaning URLs with Rewrite Rules
  • Error Handling
  • Creating Distributable OOP Packages
  • Autoloading and Composer
  • Databases and International Concerns
  • Starting Right with PHP Best Practices
  • Getting a WordPress Site
  • Getting Started with WordPress
  • The Job Search
  • Networking
  • Personal Branding
  • Setting Your Course
  • Careers in the Tech Industry
  • Self-Assessment
  • Database Security
  • Queries & Results
  • Getting Started with PDO
  • 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
  • Contact Forms & Mailers
  • Slim and Templates
  • Dependency Management
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Chrome DevTools Basics
  • Web Apps
  • Websites
  • Introduction
  • MASH JavaScript
  • MASH CSS
  • MASH HTML
  • Treehouse Club - JavaScript
  • WWW
  • The Internet
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • What a View
  • AJAX Concepts
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Custom Media Players
  • Captioning Video
  • Media Basics
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • PHP Inheritance & Interfaces
  • Structuring Tables
  • Table Basics
  • Creating a Simple Drawing Application
  • Say Hello to Django
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • PHP Properties & Methods
  • PHP Objects and Classes
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • Introduction to jQuery
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Tacocat Challenge
  • How to Win Friends
  • Broadcasting
  • Takin' Names
  • Making Strong Users
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Character Builder
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Flask Templates
  • Welcome to Flask
  • Be Assertive!
  • Covering Your Bases
  • What Is Testing?
  • Using your New Tools
  • Getting Started with Java
  • Gettin' CRUD-y With It
  • Our Diary App
  • Meet Peewee
  • Python Regular Expressions
  • Timezones
  • Math Quiz App
  • Dates and Times
  • Buggy Logs
  • Cleaner Code
  • Local Python
  • Hack-n-Slash
  • Python Inheritance
  • Python Objects
  • Dungeon Game
  • Tuples
  • Dictionaries
  • Slices
  • Computer Languages
  • Computer Basics
  • Lists Redux
  • Pick a Number! Any Number!
  • Putting the "Fun" Back in "Functions"
  • Shopping List
  • Things That Count
  • Ins & Outs
  • Say Hello to Python
  • Treehouse Club - CSS
  • Welcome to the Treehouse Club
  • Text, Fonts, and Lists
  • Values and Units
  • Advanced Selectors
  • Selectors
  • Console Users and Permission
  • Moving Around in the Console
  • Cleaning URLs with Subfolders
  • Integrating Validation Errors
  • Getting Started with CSS
  • Simple PHP Application: Wrapping Up The Project
  • Working with PHP Functions
  • Integrating With Paypal
  • Listing Inventory Items
  • Adding a Contact Form
  • Creating the Menu and Footer
  • Getting Started with PHP
  • Functions
  • Objects and Arrays
  • Control Structures
  • Basics
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • 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
  • HTML First
  • Beginning HTML and CSS
  • Newbie