Eng Seng Heah

Eng Seng Heah

Member Since April 27, 2017

17,106

Total Points

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

212 Achievements

  • JavaScript Frameworks, Libraries, and Developer Roles
  • JavaScript Outside of the Browser
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • JavaScript Objects and Conditionals
  • JavaScript Arrays and Loops
  • JavaScript Functions
  • Data Types and Variables
  • Testing for Accessibility
  • Mobile Accessibility
  • Accessible UI Patterns
  • Semantic HTML and WAI-ARIA
  • WCAG 2.0 (and Other Standards)
  • Access for Everybody
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Chrome DevTools Basics
  • Optimization Best Practices
  • Asset Optimization
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Why Web Performance Matters
  • Website Basics
  • DNS Basics
  • Graphic Basics
  • Getting the REST You Need
  • Lists, Code, Links and Images
  • Understanding Markdown
  • GitHub and Other Remote Repositories
  • Managing Committed Files
  • First Commits
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Working By Yourself
  • Hello, GitHub!
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • S3 Storage Service
  • AWS and "The Cloud"
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • Component Lifecycle
  • Designing Dataflow
  • Stateful Components
  • Thinking in Components
  • First Steps in React
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Introducing jQuery (2017)
  • Services in Angular
  • Angular Components
  • Setting Up an Angular Application
  • Finishing the Game
  • Introducing JavaScript
  • Combining Array Methods
  • Array Manipulation
  • Array Iteration
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • Practice forEach
  • Completing and Testing the API
  • Communicating with Mongo Through Mongoose
  • Modeling Data for the API
  • Building API Routes in Express
  • Building a REST Service
  • Next Steps
  • Improving Our Tests
  • Behavior Driven Development with Mocha & Chai
  • Introducing Unit Testing
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Introduction to Node.js
  • Improving Our Todo App
  • Services in Angular
  • Using Angular's Built-in Directives
  • Controllers and Scope
  • Getting Started with Angular
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Interactive Visualizations
  • Styling and Scaling Data
  • Data Binding with D3
  • Selections with D3
  • MASH JavaScript
  • MASH CSS
  • MASH HTML
  • Treehouse Club - JavaScript
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Implementing React Native
  • Why React Native
  • Reformatting User Input
  • Validating a Form with Regular Expressions
  • Regular Expressions
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Getting There
  • Delivering the MVP
  • Creating the MVP
  • Harnessing the Power of Objects
  • Meet Objects
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Hello, jQuery!
  • Creating a Simple Drawing Application
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • 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
  • Improving the Application Code
  • Editing and Filtering Names
  • Adding and Removing Names
  • Date and Time Functions
  • Introduction to jQuery
  • Making Changes to the DOM
  • Traversing the DOM
  • Responding to User Interaction
  • Getting a Handle on the DOM
  • The Browser Environment
  • Web Apps
  • Websites
  • Introduction
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Welcome to the Treehouse Club
  • Aggregate and Numeric Functions
  • Working with Text
  • Ordering, Limiting and Paging Results
  • Subqueries
  • Set Operations
  • Joining Table Data with SQL
  • Table Relationships
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Database Keys
  • Database Normalization
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • JavaScript Functions
  • JavaScript Conditional Statements
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Newbie