Daniel Tofan

Daniel Tofan

Kentucky

Grails and Web developer.

40,910

Total Points

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

510 Achievements

  • Improving the Application Code
  • Editing and Filtering Names
  • Adding and Removing Names
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Testing for Accessibility
  • Mobile Accessibility
  • Accessible UI Patterns
  • Semantic HTML and WAI-ARIA
  • WCAG 2.0 (and Other Standards)
  • Access for Everybody
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Hello, jQuery!
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts with the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Adding 3D Effects with CSS
  • Getting Started with CSS Transforms
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • Getting the REST You Need
  • File Uploads and Entity Updates in Spring + Hibernate
  • User Messages in Spring
  • Getting Started with CRUD in Spring + Hibernate
  • Data-Driven Application Design
  • Integrating Hibernate with Spring
  • Persisting Data with Hibernate
  • Getting Started with Hibernate
  • Data Persistence & ORMs
  • Bells and Whistles
  • Diving into Web Development
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Subqueries
  • Set Operations
  • Joining Table Data with SQL
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Camera Switching
  • Camera Movement
  • Image Effects
  • Camera Basics
  • 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
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • Working with Text
  • Ordering, Limiting and Paging Results
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Working By Yourself
  • Hello, GitHub!
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Start menu and App Icon
  • Sound Design
  • Animating and Saving Sprites
  • Designing Characters and a Scene
  • Introduction to Game Design
  • Using the MVC Architecture with Spring
  • Modeling, Storing, and Presenting Data with Spring
  • Creating Spring Controllers and Thymeleaf Views
  • Spring Components and Configuring Our App
  • Event Planning
  • Build a Pomodoro App
  • Design a Better App
  • Graphical User Interfaces
  • Setting Up Your Local Environment for Spring Development
  • 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
  • What is the MailChimp API
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • 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
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Getting Started with Express
  • What to Test
  • How To Test
  • Why Test
  • Advanced Tooling
  • IDE Exploration
  • How it Works
  • 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
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Hosting with GitHub Pages
  • Building and Customizing the Blog
  • Getting Started with Jekyll
  • Finishing the Prototype
  • Grid Layout and UI Components
  • Getting to Know Foundation for Apps
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • Improving Our Todo App
  • Services in Angular
  • Using Angular's Built-in Directives
  • Controllers and Scope
  • Getting Started with Angular
  • Writing Your Own Java Annotation
  • Using Java's Built-In Annotations
  • Keyframe and Line Drawing Animations
  • Transitions and Transforms
  • Finding Good WordPress Plugins and Themes
  • Managing Comments on a WordPress Blog
  • Working with Media in WordPress Blogs
  • Posts and Pages in WordPress
  • Blogging with WordPress Overview
  • WordPress Admin Settings
  • WordPress User Roles
  • The WordPress Codex
  • Getting Started with WordPress
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • WWW
  • The Internet
  • Exploring Ember
  • Ember Data
  • Models
  • Controllers
  • Routes and Templates
  • Getting Started with Ember.js
  • Debugging, Best Practices, and Production
  • Refactoring with Sass
  • Installing Sass and Setting up the Project
  • 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
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Efficiency!
  • Exploring the Java Collections Framework
  • Organizing Data
  • Getting There
  • Working with Media Queries
  • CSS Animation Basics
  • Understanding CSS Transitions and Transforms
  • Understanding Flexbox and Multi-Column Layout
  • Advanced Selectors
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Computer Languages
  • Computer Basics
  • Owning a WordPress Site Long Term
  • WordPress Community Management
  • Working with Media in WordPress
  • Adding and Editing Content
  • Getting a WordPress Site
  • Final Project: Create a Typographic Site
  • Laying Out Type for the Web
  • Basic Web Typography
  • How to Choose and Use Webfonts
  • Introduction to Typography
  • Creating a Long Term Business
  • Protecting Yourself With Contracts
  • Establishing a Proper Workflow
  • Pricing and Project Proposals
  • Finding Your First Project
  • Starting a Freelance Career
  • Protecting and Sharing Your Work
  • Licensing
  • Fair Use and Public Domain
  • Getting Started with Copyright
  • Creating an SVG
  • Introduction to SVG
  • Migrating a SQLite Database
  • CRUD Operations with SQLite
  • Using SQLite for Structured Data
  • Key-Value Saving with SharedPreferences
  • File Storage
  • Introduction to Data Persistence
  • Self-Destruction
  • Retrieving and Viewing Messages
  • Sending Messages
  • Capturing Photos and Videos
  • Relating Users in Parse.com
  • Using Fragments for Tabs
  • Adding Users Using Parse.com
  • Starting the App
  • Adding Push Notifications from Parse.com
  • Updating Other GridViews
  • Customizing a GridView for Friends
  • Customizing a ListView for the Inbox
  • Using Custom Styles and Themes
  • Customizing the Action Bar
  • Customizing the Login Screen
  • Starting with Design Mockups
  • Using Intents to Display and Share Posts
  • Adapting Data for Display in a List
  • Getting Data from the Web
  • Rebuilding from Scratch
  • Exploring the Master-Detail Template
  • Hooking up the Model to the View
  • Building the Weather UI
  • Working with JSON
  • Concurrency and Error Handling
  • Networking
  • Exploring an API
  • Using Git for Android
  • Getting Started with Genymotion
  • Getting Started with Android Studio
  • Finishing the User Interface
  • The Model-View-Controller Pattern
  • Intents and Multiple Activities
  • User Input
  • Business Plan for Freelance Business
  • Business Plan Basics
  • Publishing on Google Play
  • Testing and Debugging
  • Improving Our Code
  • Coding the Fun Facts
  • Basic Android Programming
  • Creating the Initial Screen Layout
  • Getting Started with Android
  • Building a Command Line Application
  • Introduction to Node.js
  • Going Mobile
  • Designing Email with CSS
  • Coding HTML Email
  • HTML Email Basics
  • Color Theory
  • Principles
  • Elements
  • Improving Usability
  • Mobile Usability
  • Website Usability
  • What is Usability?
  • What's New in Foundation 5
  • Build a Website With Foundation
  • Prototyping With Foundation
  • Build a Website With Bootstrap
  • Getting Work Done
  • A Lifestyle Choice
  • Growing Your Business
  • Client Services
  • Sales and Pitching
  • Marketing and Promotion
  • Moving Beyond the Blog
  • Finding Business
  • Creating Content
  • Introduction to Blogging
  • Prototyping With Bootstrap
  • Introduction to Front-End Frameworks
  • Professional Development
  • Applying & Interviewing
  • The Job Search
  • Networking
  • Personal Branding
  • Setting Your Course
  • Careers in the Tech Industry
  • Self-Assessment
  • Writing Online
  • Soft Skills - Psychology
  • Important Skills For Professional Success
  • Presentation Skills
  • Productivity
  • Making sense of it all
  •  Learning activity: Interviewing
  • Learning activity: Field Observation
  • Learning activity: Experience Sampling
  • Finding participants for your learning activity
  • Solving an Important Problem
  • Advanced Techniques
  • Responsive Design
  • Adaptive Design
  • Fluid Foundation
  • Introduction to Responsive Web Design
  • Customizing Google Maps
  • Google Maps Integration
  • jQuery Plugins
  • Video Marketing
  • Email Marketing
  • Search Engine Optimization
  • Social Media
  • Usability Testing
  • Usability Basics
  • Next Steps
  • Financing Our Company
  • Selling Your Product
  • Marketing Your Product
  • Product Market Fit
  • Discovery
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • Chrome DevTools Basics
  • Form Validation and Manipulation
  • Introduction to jQuery
  • Web Apps
  • Websites
  • Introduction
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Custom Media Players
  • Captioning Video
  • Media 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
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Introduction to SEO
  • Moving Forward with UX
  • Tools UXers Use
  • How UXers Think
  • What Do User Experience Designers Do?
  • What is User Experience (UX)?
  • Finalizing the Project
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • The Logo Sprint
  • Logo Design 101
  • Design Foundations Final
  • Creating Home Page Assets
  • Applying Effects
  • How to Draw in Illustrator
  •  Adding Color and Type
  • Creating an Icon
  • Introduction to Illustrator
  • Workflow Basics
  • Slices & Save for Web
  • Vector Shapes
  • Type Tools
  • Masks Basics
  • Layer Basics
  • Workspace Basics
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Grid Layout
  • Flexbox Layout
  • Positioning Schemes
  • Float Layout
  • Display Modes
  • Media Queries
  • CSS Animations
  • Transitions and Transforms
  • MASH JavaScript
  • MASH CSS
  • MASH HTML
  • Launching the Website
  • Styling Content
  • Text Editors and HTML
  • Creating a Website Structure
  • Website Basics
  • Website Basics
  • DNS Basics
  • Designing with the Latest Features
  • Graphic Basics
  • The Box Model
  • Fundamental Concepts
  • Flexbox and Multi-Column Layout
  • Basic Selectors
  • Understanding Values and Units
  • Basic Layout
  • Getting Started with CSS
  • Gradients
  • Forms
  • Objects
  • Text
  • Tables
  • Introduction
  • Links
  • Lists
  • Treehouse Club - JavaScript
  • JavaScript Conditional Statements
  • JavaScript Functions
  • JavaScript Variables
  • JavaScript Numbers
  • Introducing JavaScript
  • Treehouse Club - CSS
  • Welcome to the Treehouse Club
  • Delivering the MVP
  • Web Typography
  • Creating the MVP
  • Harnessing the Power of Objects
  • Meet Objects
  • Perfecting the Prototype
  • Backgrounds and Borders
  • Using your New Tools
  • Getting Started with Java
  • CSS Box Model
  • Functions
  • Objects and Arrays
  • Control Structures
  • Text, Fonts, and Lists
  • Basics
  • Values and Units
  • Structuring Tables
  • Table Basics
  • Advanced Selectors
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Selectors
  • Getting Started with CSS
  • 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
  • Make Your Own AngularJS Widget
  • Extending Inputs
  • AngularJS Directives
  • Services and Dependencies
  • Two-way Data Binding
  • AngularJS MVC Frameworks
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • JavaScript Objects
  • JavaScript Functions
  • JavaScript Arrays
  • JavaScript Numbers
  • JavaScript Strings
  • Introduction Variables
  • Newbie