Shane Patel

Shane Patel

London, United Kingdom

21,613

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

    • English

257 Achievements

  • Filtering Inputs and Escaping Outputs in PHP
  • $_GET and $_POST
  • PHP Inventory
  • Introducing jQuery Plugins
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Reformatting User Input
  • Validating a Form with Regular Expressions
  • Playing a Counting Game
  • Practice forEach
  • Combining Array Methods
  • Array Manipulation
  • Functions in TypeScript
  • Manipulating Types
  • Working with (More) Types
  • Getting Started with TypeScript
  • All Together Now
  • Functions and Looping
  • Types and Branching
  • Understanding State
  • Introducing Props
  • Thinking in Components
  • First Steps in React
  • Performing CRUD Operations
  • Defining Models
  • Getting Started with Sequelize
  • Refactoring and Modularizing a REST API
  • Create, Read, Update, Delete
  • Managing Data and Asynchronous Code
  • Getting to Know REST APIs
  • Getting the REST You Need 2
  • GET and POST Requests in a Browser
  • Asynchronous Code in Express
  • Serving Static Files in Express
  • Applying Express Knowledge
  • Array Iteration
  • Middleware
  • Deeper into Routing with Express
  • 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
  • Sass and BEM
  • Regular Expressions
  • Introducing jQuery (2017)
  • Getting Modular with Mixins and Functions
  • How to Make Wireframes in Adobe XD
  • How to Make Wireframes in Balsamiq
  • How to Make Wireframes on Paper
  • What is Wireframing?
  • WWW
  • The Internet
  • Computer Languages
  • Computer Basics
  • Debugging, Best Practices, and Production
  • Refactoring with Sass
  • Installing Sass and Setting up the Project
  • CSS Fundamentals
  • HTML Fundamentals
  • Getting Familiar with HTML and CSS
  • Hello, GitHub!
  • Data, Databases and SQL
  • Using Templates with Express
  • PHP Includes
  • Getting Started with Express
  • Creating a Command Line Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Ruby Conditionals
  • Ruby Numeric Types
  • Ruby Objects
  • Ruby Strings and Escape Sequences
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Adding the Game Logic
  • Making the Game Interactive
  • Rendering the Game
  •  Building Constructor Methods and Generating Objects
  • Introducing 'Four in a Row'
  • Introduction to Node.js
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • PHP Loops
  • PHP Arrays
  • Improving the Application Code
  • Editing and Filtering Names
  • Adding and Removing Names
  • Chrome DevTools Basics
  • PHP Conditionals
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • GitHub and Other Remote Repositories
  • Build an Accessible Form
  • Introduction To Accessibility
  • Mobile-First CSS Layout
  • Finishing Touches
  • Styling Images
  • Styling Boxes
  • Styling Text
  • CSS Media Queries
  • CSS Layout Techniques
  • Box Model Concepts
  • The CSS Box Model
  • Fundamental Concepts
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Managing Committed Files
  • First Commits
  • Managing Packages with NPM
  • Hello Node.js
  • Introduction to Node.js
  • Ruby Syntax
  • PHP on the Web
  • Daily Exercise Program
  • Unit Converter
  • What is npm?
  • Introduction to Object-Oriented JavaScript
  • Exploring Async/Await
  • Understanding Promises
  • Asynchronous JavaScript with Callbacks
  • What is Asynchronous Programming?
  • Programming AJAX
  • AJAX Concepts
  • Meet Python
  • Getting to Know PHP
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Traversing the DOM
  • Responding to User Interaction
  • Traversing the DOM
  • Backgrounds - UNUSED
  • Making Changes to the DOM
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • Introduction to HTTP
  • Getting a Handle on the DOM
  • The Browser Environment
  • Loop Through Objects
  • Object Basics
  • Multidimensional Arrays
  • Loop Through Arrays
  • Store Multiple Values in an Array
  • Working with 'for' Loops
  • Simplify Repetitive Tasks with Loops
  • Arrow Functions
  • Pass Information Into Functions
  • Create Reusable Code with Functions
  • The Math Object
  • Working with Numbers
  • Making Decisions in Your Code with Conditional Statements
  • Working With Strings
  • Storing and Tracking Information with Variables
  • Hello, JavaScript!
  • Planning for Performance
  • Measuring Performance
  • Optimize Assets
  • Combine and Minify Assets
  • Going Further with Grid Layout
  • Flexible Sized Grids
  • Introducing Grid Layout
  • Add Reusable Logic to Your Sass
  • Write Smart and Efficient CSS with Sass
  • Improve Your Workflow with Sass
  • Getting Started with Sass
  • Keyframe and Line Drawing Animations
  • Transitions and Transforms
  • Adding 3D Effects with CSS
  • Getting Started with CSS Transforms
  • Transition Timing Functions and Delays
  • Going Further with Type
  • Laying Out Type
  • Web Typography
  • How to Choose and Use Fonts
  • Introduction to Typography
  • Common Commands
  • Directories and Files
  • The Command Shell
  • Getting Started with CSS Transitions
  •  Adding Color and Type
  • Creating an Icon
  • Introduction to Illustrator
  • Design Patterns
  • Page Layout
  • Building Forms With Bootstrap
  • Using Bootstrap Components
  • Customizing Colors and Fonts
  • Responsive Layouts With the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • CSS: Cascading Style Sheets
  • Building a Layout with Flexbox
  • Creating HTML Content
  • Flexbox Properties
  • HTML First
  • Beginning HTML and CSS
  • 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
  • Getting Started with CSS Layout
  • Final Project: Create a Typographic Site
  • Laying Out Type for the Web
  • Basic Web Typography
  • How to Choose and Use Webfonts
  • Introduction to Typography
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Exploration
  • Discovery
  • Captioning Video
  • Media Basics
  • Creating an SVG
  • Introduction to SVG
  • Structuring Tables
  • Table Basics
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Going Further with HTML
  • Images, Text and Links
  • Structuring Your Content
  • Getting Started With HTML
  • 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
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • Logic in Python
  • Python Data Types
  • Python For Beginners
  • Newbie