Andy Tan

Andy Tan

Member Since September 4, 2013

35,969

Total Points

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

Skills & Experience

  • Company

    4mation

  • Job Title

    PHP Developer

450 Achievements

  • Exploring Best Practices
  • Test Drive
  • Meet Selenium
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Building Forms With Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts With the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Going Further with Grid Layout
  • Flexible Sized Grids
  • Introducing Grid Layout
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • More TODO with the MEAN Stack
  • Creating and Editing Data in a MEAN App
  • Setting Up MongoDB
  • Going MEAN with Angular
  • Going MEAN with Express
  • Introduction to MEAN
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Getting Started with Android
  • Express Middleware
  • Sessions and Cookies
  • User Registration and Login
  • What is Authentication?
  • Completing and Testing the API
  • Communicating with Mongo Through Mongoose
  • Modeling Data for the API
  • Building API Routes in Express
  • Building a REST Service
  • Getting the REST You Need
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • ES2015 Basics
  • 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
  • Finding the Data You Want
  • Putting it all Together
  • Getting Data from a Database
  • Data, Databases and SQL
  • Actions, Dispatch and Reducers. Oh my!
  • Modularizing the React Scoreboard Application
  • Getting Started with Redux
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts with the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Modular Media Queries
  • Sass Grid System
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • SMACSS and Sass
  • Welcome to Gulp.js
  • Sass and BEM
  • Getting Modular with Mixins and Functions
  • Next Steps
  • Improving Our Tests
  • Behavior Driven Development with Mocha & Chai
  • Introducing Unit Testing
  • Doing More with Express
  • Serving Static Files in Express
  • Using Templates with Express
  • The Request and Response Objects in Express
  • Developing Express Apps Like a Boss
  • Getting Started with Express
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Working By Yourself
  • Hello, GitHub!
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Keyframe and Line Drawing Animations
  • Transitions and Transforms
  • Creating an SVG
  • Introduction to SVG
  • Adding 3D Effects with CSS
  • Getting Started with CSS Transforms
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • Going Further with Routes
  • Navigating and Nesting Routes
  • Getting Started with React Router
  • Choosing Options
  • Organizing Forms
  • Structuring Tables
  • Table Basics
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Component Lifecycle
  • Designing Dataflow
  • Using a jQuery Carousel
  • Selectors - Beyond the Basics
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • Stateful Components
  • Thinking in Components
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • First Steps in React
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Adding a New Web Page
  • Make It Beautiful with CSS
  • HTML: The Structural Foundation of Web Pages and Applications
  • Getting Familiar with HTML and CSS
  • WordPress Plugin Best Practices
  • Widgets and Custom Menus
  • Creating Your Tests
  • Tools for Testers
  • How To Test Our Code
  • Custom Post Types and Fields
  • Customizing WordPress Themes
  • 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
  • Final Project: Create a Typographic Site
  • Getting Started with WordPress
  • Improving Our Todo App
  • Ruby Strings (Ruby Basics)
  • Services in Angular
  • How Ruby Works
  • Using Angular's Built-in Directives
  • Controllers and Scope
  • Getting Started with Angular
  • WWW
  • The Internet
  • Computer Languages
  • Laying Out Type for the Web
  • Basic Web Typography
  • Publishing on Google Play
  • Computer Basics
  • How to Choose and Use Webfonts
  • Introduction to Typography
  • Soft Skills - Psychology
  • Writing Online
  • AngularJS Directives
  • Productivity
  • Presentation Skills
  • Important Skills For Professional Success
  • Add Bootstrap Components to WordPress Theme
  • Create Bootstrap Styled Theme Templates
  • Working with CSS and JS in WordPress Themes
  • Setup a Bootstrap Theme
  • Starting a WordPress Theme
  • WordPress Themes
  • Installing Wordpress
  • Services and Dependencies
  • The Logo Sprint
  • Logo Design 101
  • Layer Basics
  • Two-way Data Binding
  • Finishing the User Interface
  • AngularJS MVC Frameworks
  • Getting Work Done
  • A Lifestyle Choice
  • Growing Your Business
  • Client Services
  • Sales and Pitching
  • Marketing and Promotion
  • The Model-View-Controller Pattern
  • Video Marketing
  • Email Marketing
  • Building a Command Line Application
  • Intents and Multiple Activities
  • Search Engine Optimization
  • Usability Testing
  • User Input
  • Usability Basics
  • Introduction to Node.js
  • Social Media
  • Testing and Debugging
  • Workspace Basics
  • Improving Our Code
  • Error Handling
  • Coding the Fun Facts
  • Creating a Long Term Business
  • Creating Distributable OOP Packages
  • Protecting Yourself With Contracts
  • Establishing a Proper Workflow
  • Basic Android Programming
  • Creating the Initial Screen Layout
  • Pricing and Project Proposals
  • Finding Your First Project
  • Starting a Freelance Career
  • Advanced Directives
  • Moving Beyond the Blog
  • Finding Business
  • Getting Started with Android
  • Creating Content
  • Introduction to Blogging
  • Protecting and Sharing Your Work
  • Licensing
  • Fair Use and Public Domain
  • Concepts on Advanced Functions
  • Getting Started with Copyright
  • Finalizing the Project
  • Case Studies and Examples
  • Perfecting the Prototype
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • Color Theory
  • Principles
  • Elements
  • Build a Website With Foundation
  • What's New in Foundation 5
  • Improving Usability
  • Mobile Usability
  • Website Usability
  • Using your New Tools
  • What is Usability?
  • Prototyping With Foundation
  • Autoloading and Composer
  • Getting Started with Java
  • Databases and International Concerns
  • Starting Right with PHP Best Practices
  • Relating Models
  • Moving Forward with UX
  • Advanced Variables, Mixins, Functions, and Placeholders
  • Getting Started with Advanced Sass
  • Tools UXers Use
  • Laravel CRUD
  • 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
  • Chrome DevTools Basics
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • Paginating a List: Model and View
  • Paginating a List: Controller
  • Adding Search: Model
  • Adding Search: Controller & View
  • Creating a Simple Drawing Application
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • Simple PHP Application: Wrapping Up The Project
  • Customizing Google Maps
  • AJAX and APIs
  • JavaScript Variables
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • Validation & Flash Messages
  • How UXers Think
  • Laravel Forms
  • What Do User Experience Designers Do?
  • Launching and Supporting a WordPress Plugin
  • Introducing JavaScript
  • Creating a Simple Lightbox
  • Working with PHP Functions
  • Google Maps Integration
  • jQuery and AJAX
  • Refactoring the Codebase
  • Traversing and Manipulating the DOM with JavaScript
  • Laravel & Databases
  • What is User Experience (UX)?
  • Laravel Controllers
  • Workflows
  • Laravel Project Setup
  • Working With Remote Repositories
  • Cleaning URLs with Rewrite Rules
  • Integrating With Paypal
  • Programming AJAX
  • Better SEO Through Tools
  • jQuery Plugins
  • Selecting Elements and Adding Events with JavaScript
  • Better SEO Through Code
  • Build a Website With Bootstrap
  • Form Validation and Manipulation
  • AJAX Concepts
  • JavaScript and the DOM
  • Creating a Spoiler Revealer
  • Cleaning URLs with Subfolders
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • Laravel Getting Started
  • Merging
  • Prototyping With Bootstrap
  • Better SEO Through Content
  • Installing a Ruby Development Environment
  • Branches
  • Introduction to SEO
  • Getting Started With Git
  • Why Version Control Matters
  • Advanced Techniques
  • Responsive Design
  • Adaptive Design
  • Fluid Foundation
  • Securing and Maintaining a MySQL Database
  • SQL Calculating, Aggregating and Other Functions
  • Joining Relational Data Between Tables in SQL
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Manipulating Schema with SQL
  • Design Foundations Final
  • PHP Data & Structure
  • PHP Getting Started
  • Form Basics
  • Becoming a Problem Solver
  • Creating Tables and Manipulating Data with SQL
  • Console Users and Permission
  • Understanding Aesthetics
  • Building WordPress Template Tags, Widgets, and Shortcodes
  • Introduction to Design
  • Connecting WordPress Plugins with 3rd Party APIs
  • Building a WordPress Plugin Settings Page
  • Advanced Sass Concepts
  • Introduction to jQuery
  • Listing Inventory Items
  • Graphic Basics
  • Speeding up Workflow With Sass
  • Website Basics
  • How WordPress Plugins Work
  • Reading Data from Databases with SQL
  • Moving Around in the Console
  • Installing MySQL Server and MySQL Workbench
  • Introduction to Data, Databases and SQL
  • Variables, Mixins, and Extending Selectors
  • Professional Development
  • DNS Basics
  • Ruby Basics
  • Introduction to Responsive Web Design
  • PHP Inheritance & Interfaces
  • Integrating Validation Errors
  • Limiting Results in Queries
  • Using Relationship Tables
  • Filtering Input for Queries
  • Applying & Interviewing
  • Querying the Database
  • The Job Search
  • Networking
  • Personal Branding
  • Setting Your Course
  • Introduction to Front-End Frameworks
  • Getting Started with Sass
  • Grid Layout
  • Flexbox Layout
  • Positioning Schemes
  • Float Layout
  • Display Modes
  • Careers in the Tech Industry
  • Media Queries
  • CSS Animations
  • Self-Assessment
  • Transitions and Transforms
  • PHP Properties & Methods
  • Connecting to MySQL
  • PHP Objects and Classes
  • Introduction to jQuery
  • Beginning HTML and CSS
  • JavaScript Objects
  • Adding a Contact Form
  • Flexbox and Multi-Column Layout
  • Creating the Menu and Footer
  • Gradients
  • Web Typography
  • Backgrounds and Borders
  • CSS Box Model
  • Web Apps
  • Websites
  • Introduction
  • JavaScript Functions
  • Text, Fonts, and Lists
  • Getting Started with PHP
  • Values and Units
  • JavaScript Arrays
  • Functions
  • Objects and Arrays
  • Advanced Selectors
  • JavaScript Numbers
  • Control Structures
  • Basics
  • Selectors
  • Getting Started with CSS
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Converting Static HTML into WordPress Templates
  • Launching the Website
  • Styling Content
  • Preparing to Code WordPress Templates
  • WordPress Theme Functions
  • WordPress Theme Templates
  • Content Strategy with WordPress
  • Managing Comments
  • Customizing WordPress
  • Adding and Editing Content in WordPress
  • JavaScript Strings
  • Creating a Website Structure
  • Text Editors and HTML
  • Introduction Variables
  • Configuring WordPress
  • Getting Started with WordPress
  • Website Basics
  • Newbie