Jonathan Morales

Jonathan Morales

Member Since June 7, 2015
Open to Work

40,046

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

    • Chinese
    • Korean
    • Japanese
    • Spanish
    • Italian
    • C++
  • Publications

    • 10 Story Builder LSAMP

507 Achievements

  • Getting Familiar with HTML and CSS
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts with the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Tools for Testers
  • Getting Started with Data Science
  • Getting Started with Advanced Sass
  • Getting to Know Foundation for Apps
  • Ordering, Limiting and Paging Results
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • Building a Collection
  • How To Test Our Code
  • Building the Recipe
  • Understanding Classes
  • Why Object-Oriented Programming?
  • Autoloading and Composer
  • Databases and International Concerns
  • Starting Right with PHP Best Practices
  • 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
  • Ruby on Rails Authentication
  • Rails Frontend Development
  • Getting Started With Rails
  • Installing a Ruby Development Environment
  • Ruby Strings (Ruby Basics)
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • How Ruby Works
  • Generics with Swift 2 - Beyond Basics
  • Generics with Swift 2
  • Getting Started with CSS
  • Bells and Whistles
  • Diving into Web Development
  • Persisting Data with Hibernate
  • Getting Started with Hibernate
  • Data Persistence & ORMs
  • Testing and Debugging
  • Improving Our Code
  • Basic Android Programming
  • Creating the Screen Layout
  • But Wait There's More!
  • Introducing Services
  • What to Test
  • How To Test
  • Why Test
  • Getting Started with Android
  • Activity Transitions: Advanced Topics
  • Shared Element Transitions
  • Transitions Framework
  • Animation Basics
  • Event Planning
  • Build a Pomodoro App
  • Setting Up Your Local Environment for Spring Development
  • Writing Your Own Java Annotation
  • Using Java's Built-In Annotations
  • Exploring the Master-Detail Template
  • Adding 3D Effects with CSS
  • Getting Started with CSS Transforms
  • Getting Started in Maya LT
  • Design a Better App
  • Graphical User Interfaces
  • MVC
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • Limiting Results in Queries
  • Notifications
  • Using Relationship Tables
  • Filtering Input for Queries
  • Querying the Database
  • Connecting to MySQL
  • KVC and KVO
  • Singletons
  • Two-stage Object Creation
  • Interacting with Google+ APIs
  • What Are Design Patterns?
  • Connecting to Play Services
  • Paginating a List: Model and View
  • Paginating a List: Controller
  • Adding Search: Model
  • Adding Search: Controller & View
  • Refactoring the Codebase
  • Interacting with Your API
  • Adding Play Services to Your App
  • Cleaning URLs with Rewrite Rules
  • Cleaning URLs with Subfolders
  • Integrating Validation Errors
  • PHP Email Form Errors
  • PHP Email Forms
  • PHP Inventory
  • Adding Sound Effects
  • Refactoring the Model
  • Creating the User Interface Programmatically
  • Creating a Story
  • Navigating Through an Adventure
  • PHP Includes
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Working By Yourself
  • Hello, GitHub!
  • Cocoapods
  • Advanced Tooling
  • Tablet Time
  • Ingredients and Directions
  • Managing Fragments
  • Introducing Fragments
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Improving Our Todo App
  • Services in Angular
  • Using Angular's Built-in Directives
  • Controllers and Scope
  • Getting Started with Angular
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Getting the REST You Need
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • 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
  • 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
  • Building a Command Line Application
  • Introduction to Node.js
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • Finishing the User Interface
  • Using Auto Layout and Managing the Keyboard
  • Customizing Table View Controllers
  • Implementing Custom Login and Sign Up Screens
  • The Activity Lifecycle
  • Particle Systems and Keeping Score
  • Artificial Intelligence and Sound
  • Physics and Collision
  • Actions and Animations
  • Game Loop and Texture Atlas
  • Custom Detail View Controller
  • Custom UITableViewCell
  • UIKit Dynamics
  • View Controller Transitions
  • Gestures
  • What is an API?
  • Downloading Data with NSURLSession
  • Collection Views
  • Deleting Data
  • Listing Data using NSFetchedResultsController
  • Tying It All together
  • Diving Deeper
  • Memory, Arrays and Loops, Oh My!
  • Getting Oriented - Object-Oriented, That Is
  • Immersive Examples
  • Scope and Loops
  • More Operators
  • Operators and Conditionals
  • Data Types and Variables
  • Intro to Objective-C
  • Bound Services
  • Threads in Android
  • Debugging, Best Practices, and Production
  • Refactoring with Sass
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Installing Sass and Setting up the Project
  • Finalizing the Project
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • The Logo Sprint
  • Logo Design 101
  • Keyframe and Line Drawing Animations
  • CSS Animation Basics
  • Understanding CSS Transitions and Transforms
  • Understanding Flexbox and Multi-Column Layout
  • Transitions and Transforms
  • Creating an SVG
  • Introduction to SVG
  • 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
  • Save for the Web
  • Adding Images and a Mockup
  • Logo Design
  • Creating a Wireframe
  • Introducing Adobe Illustrator
  • Workflow Basics
  • Slices & Save for Web
  • Vector Shapes
  • Displaying Additional Views
  • Using the Vending Machine
  • Loading Data From a Resource
  • Modeling An Interface
  • Error Handling in Swift 2.0
  • Creating Flexible Objects Using Protocols
  • Swift 2.0 Protocols
  • Objects and Optionals
  • Introduction to Optionals
  • Introduction to Enumerations
  • Running Apps on a Device
  • Improving Our User Interface
  • Structs as Data Models
  • View Controllers and Views
  • Getting Started with iOS Development
  • Differentiating Between Objects
  • Class Inheritance
  • Classes
  • Complex Data Structures
  • Function Parameters
  • Functions in Swift 2.0
  • Control Flow with Conditional Statements
  • Control Flow With Loops
  • Swift Dictionaries
  • Introduction to Collections
  • Swift Operators
  • Swift Types
  • An Introduction to Swift Programming
  • Delegation in iOS
  • Introduction to Delegates
  • Implementing the Detail View
  • Custom Table View Cells
  • Next Week's Weather
  • Upgrading Stormy
  • Introduction to Table Views
  • Creating Flexible Objects with Protocols
  • Protocols
  • Refreshing the Data
  • Adding Weather Icons
  • Closures in iOS
  • Closures and Closure Expressions
  • Functions as First Class Citizens
  • Refactoring Our Code (Swift)
  • Building the Master and Detail Views (Swift)
  • Building a Music Library and Playlists (Swift)
  • Using a Navigation Controller With Segues (Swift)
  • Working With Multiple View Controllers (Swift)
  • Deploying to a Device
  • Debugging Our App
  • Improving Our User Interface
  • Using a Data Model
  • Views and View Controllers
  • Getting Started with Xcode
  • Managing Complexity
  • Interacting With Data From the Web
  • Simple Data Structures
  • Swift Value vs Reference Types
  • Swift Properties
  • Swift Inheritance
  • Swift Classes and Objects
  • Swift Structs and their Methods
  • Swift Structs
  • Swift Enums and their Methods
  • Swift Enums
  • Swift Optionals
  • Swift Parameters and Tuples
  • Swift Functions
  • Control Flow
  • Collections
  • Operators
  • Types
  • Variables and Constants
  • The Project
  • Introducing SharedPreferences
  • IDE Exploration
  • How it Works
  • Efficiency!
  • Exploring the Java Collections Framework
  • Organizing Data
  • Getting There
  • Delivering the MVP
  • Creating the MVP
  • Harnessing the Power of Objects
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Intro to Sprite Kit
  • Inserting and Saving Data
  • Understanding Core Data
  • Retrieving and Viewing Data from Parse.com
  • Capturing Photo and Video Using UIImagePickerController
  • Relating Users in Parse.com
  • Using Parse.com as a Backend and Adding Users
  • Designing and Starting the App
  • Python For Beginners
  • Viewing a Web Page
  • Adapting Data for Display
  • Data Modeling
  • Getting Data from the Web
  • Rebuilding from Scratch
  • Exploring the Master-Detail Template
  • Refactoring Our Code (objc)
  • Building the Master and Detail Views (objC)
  • Managing Playlist Data (objC)
  • Building a Music Library Model (objc)
  • Working With Multiple View Controllers (ObjC)
  • Beyond the Basics
  • Advanced Objective-C
  • Foundation Framework
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Chrome DevTools Basics
  • Web Apps
  • Websites
  • Introduction
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • AJAX and APIs
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Custom Media Players
  • Captioning Video
  • Media Basics
  • Creating a Simple Drawing Application
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Traversing and Manipulating the DOM with JavaScript
  • Creating a Mobile Drop Down Menu
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • Creating a Password Confirmation Form
  • Creating a Simple Lightbox
  • Deploying to a Device (ObjC)
  • Debugging Our App (ObjC)
  • Improving Our User Interface (ObjC)
  • Creating a Data Model (ObjC)
  • Views and View Controllers (ObjC)
  • Getting Started with Xcode (ObjC)
  • Type Tools
  • Masks Basics
  • Layer Basics
  • Workspace Basics
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Grid Layout
  • Flexbox Layout
  • Positioning Schemes
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • JavaScript Objects
  • JavaScript Arrays
  • Introduction to Objective-C
  • Pointers and Memory
  • Functional Programming in C
  • Fundamentals of C
  • JavaScript Loops
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Float Layout
  • Display Modes
  • Structuring Tables
  • Table Basics
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • 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
  • Migrating a SQLite Database
  • CRUD Operations with SQLite
  • Using SQLite for Structured Data
  • Key-Value Saving with SharedPreferences
  • File Storage
  • Introduction to Data Persistence
  • Adding Push Notifications from Parse.com
  • Updating Other GridViews
  • Customizing a GridView for Friends
  • Customizing a ListView for the Inbox
  • Customizing the Action Bar
  • Using Custom Styles and Themes
  • Customizing the Login Screen
  • Starting with Design Mockups
  • Self-Destruction
  • Retrieving and Viewing Messages
  • Sending Messages
  • Introducing JavaScript
  • Publishing on Google Play
  • Capturing Photos and Videos
  • Relating Users in Parse.com
  • Using Fragments for Tabs
  • Adding Users Using Parse.com
  • Starting the App
  • Using Git for Android
  • Updating the Data Model
  • Acting on List Item Taps
  • Lists with RecyclerViews
  • Build and Share a Unity Game
  • Game Audio
  • Score, Enemies, and Game State
  • Pickups
  • Player Input and Cameras
  • The Unity Editor and Scene Setup
  • Introduction to Video Games
  • Getting Started with Genymotion
  • Using Parcelable Data
  • Custom ListViews
  • Standard ListViews
  • Getting Started with Android Studio
  • Hooking up the Model to the View
  • Building the Weather UI
  • Working with JSON
  • Concurrency and Error Handling
  • Networking
  • Exploring an API
  • Finishing the User Interface
  • The Model-View-Controller Pattern
  • Meet Objects
  • Intents and Multiple Activities
  • User Input
  • Testing and Debugging
  • Improving Our Code
  • Coding the Fun Facts
  • Basic Android Programming
  • Creating the Initial Screen Layout
  • Getting Started with Android
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • Getting Started with CSS
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Computer Languages
  • Computer Basics
  • WWW
  • Why Version Control Matters
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • 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
  • PHP Inheritance & Interfaces
  • PHP Properties & Methods
  • PHP Objects and Classes
  • 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
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • Newbie