Awesome Coding
Build Cool Stuff with JavaScript and Node.js
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 processing, web scraping, command-line applications, natural language processing, and web APIs to get news, stock, and even cryptocurrency data.
With Membership
Free!
$1.00
You pay
$0.00Author earns
$0.00About
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.
Author
About the Author
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.

Episode 54
An Interview with Engin Arslan
Contents
Table of Contents
1Preface
- Why Learn JavaScript?
- What Will You Learn In This Book
- Code Examples
- IJavaScript Basics
2Setting Up Your Development Environment
- Development Environment Setup
- Running JavaScript Online
3Basic Data Types and Variables
- Basic Data Types
- Variables
- Choosing Variable Names
- Declaring Variables
- Summary
4JavaScript Functions
- Functions
- Thinking About Functions
- Other JavaScript Functions
- Defining Functions
- A Real World Function Example
- Callback Functions and Anonymous Functions
- Summary
5Comparison Operators and Conditionals
- Booleans & Comparison Operators
- Comparing Fractional Numbers
- Logical Operators
- Conditional Statements
- Truthy and Falsy Values
- Logical Operators Revisited
- Summary
6Project: Creating an Email Template
- Creating an Email Template
- Template Literals
- Summary
7JavaScript Objects
- this Keyword
- Passed by Value vs. Passed by Reference
- Factory Functions, Constructor Functions, and Classes
- Summary
8Arrays
- Example: Building a Password Validator
- Summary
9Loops
- Example: Writing a Countdown Function Using a While Loop
- for Loop
- Example: Writing a Countdown Function Using a for Loop
- Looping Over Collections
- Map and Filter Methods
- Summary
10Project: 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
11Programming Libraries
- Loading Libraries
- Library Examples
- Summary
12Project: 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
- IIGetting Started with Node.js
13Introduction to Node.js
- Installing Node.js
- Using the Terminal
- Using a Code Editor
- Our First Node.js Program
- Summary
14Modules
- Using Modules in Node.js
- Summary
15Third-Party Modules and Libraries
- Using package.json
- Summary
16Project: Writing a Command-Line Tool
- Building a Number Guessing Game
- Getting the Command Line Arguments
- Capturing the User Input
- Creating the Game Loop
- Summary
- IIIInteracting with the File System in Node.js
17File System in Node.js Part 1
- Working with Folders
- Performing Folder Operations
- Summary
18File System in Node.js Part 2
- Reading and Writing Files
- Error Handling in JavaScript
- Reading Files with Error Handling
- Summary
19File System in Node.js Part 3
- Working Asynchronously
- Creating a folder asynchronously
- Reading and Writing files in Node.js
- Choosing Between Synchronous and Asynchronous Functions
- Summary
- IVImage Processing in Node.js
20Image Processing in Node.js using Jimp
- Callback Hell
- Callbacks vs. Promises
- Using Jimp with Promises
- Summary
- VWeb Scraping
21Automate the Web Using Puppeteer
- async-await
- Getting Started with Puppeteer
- Summary
22Programming Inside the Browser
- HTML (Hypertext Markup Language)
- CSS (Cascading Stylesheets)
- Classes and IDs
- Using JavaScript inside the Browser
- Summary
23Project: Get Random Wikipedia Articles
- Things to Keep in Mind with Headless Browsers
- Summary
- VIAPIs
24Working with APIs
- Communicating with Web APIs
- Using Web APIs
- About Web Browser APIs and Web Service APIs
- Summary
25Project: 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
26Project: News API
- Using NewsAPI with a Client Library
- Adding Day.js
- Performing Sentiment Analysis
- Summary
27Closing 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.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.
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) and EPUB (for phones, tablets and 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 and/or EPUB files and then publish with one click!) It really is that easy.