Awesome Coding
$24.99
Minimum price
$24.99
Suggested price

Awesome Coding

Build Cool Stuff with JavaScript and Node.js

About the Book

Learn coding with JavaScript and Node.js from scratch and work on practical projects, applicable and interesting projects. Learn more at www.awesomecoding.co

🤔 What is Awesome Coding about?

Awesome Coding is a book that teaches you JavaScript and Node.js by building cool projects. In this book, you will learn coding from scratch and work on practical projects that include data analysis, image manipulation, web scraping, command-line applications, natural language processing, and web APIs to get news, stock, and even cryptocurrency data.

I am a self-taught developer, so I wanted to make sure to create an engaging book that is easily accessible by beginners. If you want to learn coding from scratch with highly practical, applicable, and useful examples, this is the right book for you.

🎓 Who is Awesome Coding for?

This book is for complete beginners who would like to start learning JavaScript and Node.js with practical, interesting, and awesome examples. Prior coding knowledge is not required.

📖 What is included in the Book?

👉 JavaScript and Node.js Basics

Learn the basics of JavaScript and Node.js from scratch. Establish an understanding of software development principles such as the Single Responsibility Principle, Do not repeat yourself, Test-Driven Development.

👉 File System Operations

Create files and folders using Node.js. Learn working synchronously vs asynchronously.

👉 Image Manipulation

Programmatically resize, color-correct, or modify images.

👉 Web Scraping

Automate your interactions with the web. Programmatically scrape website data, take screenshots.

👉 Command-Line Applications

Build programs that can be controlled from the command-line (terminal).

👉 Natural Language Processing

Perform NLP operations such as language detection and sentiment analysis.

👉 Data Analysis

Practice analyzing and working large sets of data.

👉 Web APIs

Use Web APIs to get news headlines, stock market, and cryptocurrency data.

About the Author

Engin Arslan
Engin Arslan

Hi there! 👋 My name is Engin Arslan. I am a software developer based in Berlin. Before becoming a developer, I worked as a visual effects artist / technical director on films and TV shows, including Resident Evil 4, Tron, Mama, Pompeii, Vikings, and Strain. I received an Emmy Nomination and won a Canadian Screen Award for my Visual Effects work. During my time in VFX, I fell in love with Python and with programming in general. As a result, I have taught myself web development and changed careers to immerse myself completely in software development. Currently, I am working as a senior front-end developer at Shopify. I am also an author for a couple of online courses, such as 3D Graphics on the Web and Coding for Visual Learners on Linkedin Learning. I was a part-time professor at Seneca College in Toronto for 5 years, teaching programming to complete beginners. I have decided to write Awesome Coding since there aren't too many sources out there that teach programming in an engaging way.

Engin Arslan

Episode 54

Table of Contents

  •  
    • 1 Preface
      • Why Learn JavaScript?
      • What Will You Learn In This Book
      • Code Examples
  • I JavaScript Basics
    • 2 Setting Up Your Development Environment
      • Running JavaScript Inside the Developer Console
      • Running JavaScript as Part of an HTML File
      • Running JavaScript Online
      • Summary
    • 3 Basic Data Types and Variables
      • Numbers
      • Variables
      • Semicolons
      • Comments
      • Summary
    • 4 Functions
      • parseFloat Function
      • parseInt Function
      • Thinking About Functions
      • Other JavaScript Functions
      • Defining Functions
      • Functions with Parameters
      • Functions with Multiple Parameters
      • Functions that Return a Value
      • A Real World Function Example
      • Callback Functions and Anonymous Functions
      • Arrow Function Expression
      • Summary
    • 5 Comparison Operators and Conditionals
      • Boolean Data Type
      • Comparison Operators
      • Logical Operators
      • Conditional Statements
      • else if Statement
      • Truthy and Falsy Values
      • Logical Operators Revisited
      • Summary
    • 6 Project: Creating an Email Template
      • Creating a Body Template
      • Template Literals
      • Summary
    • 7 JavaScript Objects
      • this Keyword
      • Passed by Value vs. Passed by Reference
      • Factory Functions, Constructor Functions, and Classes
      • Summary
    • 8 Arrays
      • Arrays are Objects
      • Passed by Value vs Passed by Reference
      • Strings as Collections
      • Example: Building a Password Validator
      • Summary
    • 9 Loops
      • while Loop
      • Example: Writing a Countdown Function Using a While Loop
      • for Loop
      • Example: Writing a Countdown Function Using a for Loop
      • Looping Over Collections
      • forEach Method
      • Example: Multiplier Function
      • map Method
      • filter Method
      • Summary
    • 10 Project: Password Validator
      • Minimum 8, Maximum 12 Characters
      • No Space at the Start or at the End
      • Includes at Least Two Special Characters
      • No Repeating Characters
      • Includes at Least Two Numbers
      • Refactoring Code
      • Summary
    • 11 Programming Libraries
      • Loading Libraries
      • Library Examples
      • Summary
    • 12 Project: Data Analysis
      • Using Faker
      • How Many Students Are There?
      • Which Email Providers Exist?
      • How Many Users There Are for Each Email Provider?
      • Which User Has the Longest Email Address?
      • Which User Has the Shortest Email Address?
      • Which Country Has the Most Users?
      • Summary
  • II Getting Started with Node.js
    • 13 Introduction to Node.js
      • Installing Node.js
      • Using the Terminal
      • Using a Code Editor
      • Our First Node.js Program
      • Summary
    • 14 Modules
      • Using Modules in Node.js
      • Summary
    • 15 Third-Party Modules and Libraries
      • Using package.json
      • Summary
    • 16 Project: Writing a Command-Line Tool
      • Building a Number Guessing Game
      • Getting the Command Line Arguments
      • Capturing the User Input
      • Creating the Game Loop
      • Summary
  • III Interacting with the File System in Node.js
    • 17 Working with Folders
      • Performing Folder Operations
      • Summary
    • 18 Reading and Writing Files
      • Error Handling in JavaScript
      • Reading Files with Error Handling
      • Summary
    • 19 Working Asynchronously
      • Creating a folder asynchronously
      • Reading and Writing files in Node.js
      • Choosing in Between Synchronous and Asynchronous Functions
      • Summary
  • IV Image Processing in Node.js
    • 20 Image Processing in Node.js using Jimp
      • Callback Hell
      • Callbacks vs. Promises
      • Using Jimp with Promises
      • Summary
  • V Web Scraping
    • 21 Automate the Web Using Puppeteer
      • async-await
      • Getting Started with Puppeteer
      • Summary
    • 22 Programming Inside the Browser
      • HTML (Hypertext Markup Language)
      • CSS (Cascading Stylesheets)
      • Classes and ID’s
      • Using JavaScript inside the Browser
      • Summary
    • 23 Project: Get Random Wikipedia Articles
      • Things to Keep in Mind with Headless Browsers
      • Summary
  • VI APIs
    • 24 Working With APIs
      • Communicating with Web APIs
      • Using Web APIs
      • About Web Browser APIs and Web Service APIs
      • Summary
    • 25 Project: Stock and Crypto Market API
      • Finding the Stock Symbol for a Company
      • Getting the Price Data for a Stock
      • Getting Company Financials
      • Getting the Price in Bitcoin
      • Summary
    • 26 Project: News API
      • Using NewsAPI with a Client Library
      • Adding Day.js
      • Performing Sentiment Analysis
      • Summary
    • 27 Closing Words

The Leanpub 60-day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

Do Well. Do Good.

Authors have earned$11,707,309writing, publishing and selling on Leanpub, earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets) and MOBI (for Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF, EPUB and/or MOBI files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub