Electron From Scratch: Build Desktop Apps With JavaScript
We will build 3 apps
ImageShrink - An app to optimize images for websites
SystTop - RealTime CPU monitor with notifications and system tray
BugLogger - CRUD app to track logs which uses React and the MongoDB Atlas cloud database
Some stuff you will learn:
Create app windows with BrowserWindow
Create menus with custom items
Menu roles
Shell module to open files and folders
Create system tray icons with context menus
App events
Main process & Renderer process
Communication between processes with IPCMain & IPCRenderer
Packaging Electron apps
Creating log files
Interact with system hardware
Create a data store file with settings data
Integrate React with Electron
Integrate a MongoDB database with Mongoose
Some JavaScript stuff that you may not have known
- JavaScript Fundamentals
- Developers that want to build desktop apps with web technologies
What you'll learn:
- Learn how to build desktop apps with Electron
- Create and package 3 complete cross-platform applications
- Use IPC to communicate between Main & Renderer Processes
- Use Vanilla JS & React with Electron
- Create custom menu items, system tray apps and more
- Work with local data as well as MongoDB Atlas database
About the Authors
Brad Traversy
Brad Traversy is a US developer behind Traversy Media — one of the largest independent web-development YouTube channels, with millions of subscribers and one of the most-viewed introductory tutorial libraries on the platform. He has been publishing daily-or-near-daily web development content continuously for nearly a decade and has anchored a generation of self-taught developers' first exposure to HTML, CSS, JavaScript, and the modern framework landscape.
The course catalog (sold via Udemy and the standalone Traversy platform) covers the full web-development stack: HTML and CSS fundamentals, JavaScript, React (including Next.js), Vue, Node.js, Express, MongoDB, full-stack MERN applications, Tailwind CSS, modern CSS layout, and the surrounding tooling. Brad's teaching style is calm, patient, and deliberately accessible to absolute beginners.
The CourseFlix listing under this source carries over 17 Brad Traversy courses spanning that range. Material is paid and aimed primarily at self-taught developers building real proficiency with web development from a clean start.
Udemy
Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.
Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.
Watch Online 57 lessons
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Welcome To The Course Demo | 04:19 | |
| 2 | Electron: What & Why? | 04:35 | |
| 3 | How Electron Works | 03:12 | |
| 4 | Environment & Code Repo | 05:16 | |
| 5 | Project Intro | 03:19 | |
| 6 | Setup & BrowserWindow | 06:19 | |
| 7 | Loading a Window File & Adding an Icon | 07:09 | |
| 8 | Environment & Platform Check | 07:22 | |
| 9 | Using Nodemon With Electron | 03:15 | |
| 10 | Creating a Menu Template | 07:22 | |
| 11 | Menu & Global Shortcuts | 05:01 | |
| 12 | Menu Roles | 04:53 | |
| 13 | Open Window From Menu | 05:08 | |
| 14 | Creating The Interface | 11:10 | |
| 15 | Renderer Node Integration | 05:12 | |
| 16 | IPC Communication | 07:01 | |
| 17 | Implementing Imagemin & Plugins | 13:25 | |
| 18 | Send Events To Renderer | 03:30 | |
| 19 | Creating Log Files | 05:10 | |
| 20 | Package & Test Our App | 07:38 | |
| 21 | Project Intro | 03:16 | |
| 22 | Boilerplate Setup | 03:52 | |
| 23 | Template Assets Setup | 04:42 | |
| 24 | Creating The Interface | 10:49 | |
| 25 | Static System Stats | 11:08 | |
| 26 | Interval/Dynamic System Stats | 09:12 | |
| 27 | Progress Bar & CPU Overload | 04:39 | |
| 28 | Notifications API | 05:42 | |
| 29 | Notification Timing | 09:49 | |
| 30 | Creating a Store | 10:02 | |
| 31 | Set Default Settings To Renderer | 04:32 | |
| 32 | Saving Data To Our Store/File | 09:26 | |
| 33 | Use Settings Data In Monitor | 05:34 | |
| 34 | Creating a Tray Icon | 06:14 | |
| 35 | Tray Context Menu | 05:27 | |
| 36 | Nav Toggle Menu Item | 04:29 | |
| 37 | MainWindow Class | 04:49 | |
| 38 | AppTray Class | 05:44 | |
| 39 | Package & Test Our App | 03:10 | |
| 40 | Project Intro | 02:33 | |
| 41 | React-Electron Boilerplate Setup | 10:19 | |
| 42 | Log State & Table | 08:15 | |
| 43 | LogItem Component | 09:00 | |
| 44 | Formatting Dates With Moment | 03:29 | |
| 45 | AddLogItem Component | 08:47 | |
| 46 | Adding a Log (UI Only) | 06:14 | |
| 47 | Displaying Alerts | 07:13 | |
| 48 | Deleting a Log (UI Only) | 03:58 | |
| 49 | Setup MongoDB Atlas | 04:19 | |
| 50 | Connect To Database With Mongoose | 04:41 | |
| 51 | Create Log Model | 04:08 | |
| 52 | Get Logs From Database | 08:40 | |
| 53 | Add Log To Database | 04:56 | |
| 54 | Delete Logs From Database | 04:45 | |
| 55 | Clear Logs Menu Item | 08:06 | |
| 56 | Package & Test Our App | 04:42 | |
| 57 | Custom Icon | 01:27 |
Get instant access to all 56 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionRelated courses
-
Updated 2y agoThe Complete Node.js Developer Course (3rd Edition)
By: UdemyHave you tried to learn Node before? You start a new course, and the instructor has you installing a bunch of libraries before you even know what Node is or how35h 4m -
Updated 2y agoReact, NodeJS, Express & MongoDB - The MERN Fullstack Guide
By: UdemyBuilding fullstack applications (i.e. frontend + backend) with the MERN stack is very popular - in this course.18h 45m -
Updated 2y agoMERN 2024 Edition - MongoDB, Express, React and NodeJS
By: UdemyWelcome to the immersion in the MERN Stack! This course will help you master all aspects of building a fully functional "Jobify" application using MongoDB.19h 7m5/5