Sum Tsui
seal-mask

Sum Tsui

Techdegree Student

Shenzhen

29,117

Total Points

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

Skills & Experience

  • Spoken Languages

    • Mandarin, Cantonese, English

333 Achievements

  • 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
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Building API Routes in Express
  • Building a REST Service
  • Getting the REST You Need 2
  • 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
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Going Further with Routing
  • Navigating, Nesting and Redirecting Routes
  • Getting Started with React Router
  • Refining the App
  • Building the Application
  • Setting up with Create React App
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Installing Sass and Setting up the Project
  • Next Steps
  • 1st Techdegree Peer Review
  • Improving Our Tests
  • Behavior Driven Development with Mocha & Chai
  • Introducing Unit Testing
  • Getting the REST You Need
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Serving Static Files in Express
  • Applying Express Knowledge
  • Middleware
  • Deeper into Routing with Express
  • Working By Yourself
  • Hello, GitHub!
  • Using Templates with Express
  • Getting Started with Express
  • 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
  • Classes
  • GitHub and Other Remote Repositories
  • Managing Committed Files
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • First Commits
  • Combining Array Methods
  • Array Manipulation
  • Array Iteration
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • 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
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Introduction to Node.js
  • AJAX and APIs
  • Captioning Video
  • Media Basics
  • Exploration
  • Discovery
  • Measuring Performance
  • Planning for Performance
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Introducing jQuery (2017)
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Going Further with HTML
  • Images, Text and Links
  • Structuring Your Content
  • Getting Started With HTML
  • Improving the Application Code
  • Editing and Filtering Names
  • Adding and Removing Names
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Hello, jQuery!
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Finishing the Game
  • Introducing JavaScript
  • Building Forms With Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts With the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Going Further with Grid Layout
  • Page and Post Templates in WordPress
  • Homepage Templates in WordPress
  • Core WordPress Theme Files
  • How WordPress Templates Work
  • Finishing Your WordPress Theme
  • Custom Homepage Templates in WordPress
  • Adding a Blog to a WordPress Theme
  • Custom Post Type Templates
  • Building Out WordPress Navigation
  • Building Page Templates in WordPress
  • The WordPress Loop
  • Better SEO Through Code
  • WordPress Header and Footer Templates
  • Working with CSS and JS in WordPress Themes
  • Starting a WordPress Theme
  • Better SEO Through Content
  • Introduction to SEO
  • Flexible Sized Grids
  • Introducing Grid Layout
  • PHP Basics for WordPress
  • Customizing the WooCommerce Cart and Checkout Process
  • Starting a Custom WooCommerce Theme
  • Cart, Checkout and Account Templates and Hooks
  • Getting Started with WooCommerce Theme Development
  • WordPress Plugin Best Practices
  • Custom Post Types in WordPress
  • WordPress Themes
  • WordPress Widgets
  • Local WordPress Development
  • Global and Product Templates and Hooks
  • More Advanced PHP for WordPress
  • Introduction to PHP for WordPress
  • Customizing WordPress Themes
  • 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
  • What Is WordPress?
  • PHP Includes
  • PHP Loops
  • PHP Arrays
  • Getting Started with CSS Layout
  • Adding a New Web Page
  • Make It Beautiful with CSS
  • HTML: The Structural Foundation of Web Pages and Applications
  • PHP Conditionals
  • PHP on the Web
  • Daily Exercise Program
  • Unit Converter
  • Getting to Know PHP
  • Getting Familiar with HTML and CSS
  • Adding Play Services to Your App
  • The Project
  • Introducing SharedPreferences
  • The Activity Lifecycle
  • Acting on List Item Taps
  • Lists with RecyclerViews
  • Using Parcelable Data
  • Custom ListViews
  • Standard ListViews
  • Updating the Data Model
  • Hooking up the Model to the View
  • Building the Weather UI
  • Working with JSON
  • Concurrency and Error Handling
  • Networking
  • Finishing the User Interface
  • The Model-View-Controller Pattern
  • Intents and Multiple Activities
  • User Input
  • Testing and Debugging
  • Improving Our Code
  • Basic Android Programming
  • Creating the Screen Layout
  • Getting Started with Android
  • Advanced Tooling
  • Event Planning
  • Build a Pomodoro App
  • Design a Better App
  • Graphical User Interfaces
  • IDE Exploration
  • Efficiency!
  • Exploring the Java Collections Framework
  • Organizing Data
  • 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
  • How it Works
  • Testing and Debugging
  • Exploring an API
  • Tuples
  • Dictionaries
  • Slices
  • Lists Redux
  • Pick a Number! Any Number!
  • Putting the "Fun" Back in "Functions"
  • Shopping List
  • Things That Count
  • Ins & Outs
  • Say Hello to Python
  • Coding the Fun Facts
  • Basic Android Programming
  • Improving Our Code
  • Creating the Initial Screen Layout
  • Getting Started with Android
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • Structuring Tables
  • Table Basics
  • Creating a Simple Drawing Application
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • 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
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • PHP Data & Structure
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • PHP Getting Started
  • 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
  • Cleaning URLs with Subfolders
  • Integrating Validation Errors
  • 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
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Functions
  • Objects and Arrays
  • Control Structures
  • 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
  • Newbie