
Configure the Electron main window to load a local index.html via load file or load URL. Add a custom icon from assets/icons to customize the app on Windows.
Install nodemon to auto reload the main process and learn how to reload the renderer with command+R, compare with Electron reload on Mac, and set up a dev script.
Create a function to notify the user using the HTML5 notifications API in Electron, passing a title, body, and icon to create a cross-platform desktop notification.
Configure the main process to send default settings to the renderer via web contents on the dom ready event, and display cpu overload and alert frequency in the form.
Create a tray context menu in electron to quit from right-click, and hide the main window on close unless a quitting flag is set.
Learn how to add a view menu item in an Electron app to toggle navigation using IPC between main and renderer, hiding or showing the nav element.
Build a bug logger app by transitioning from vanilla JavaScript to React, using a MongoDB Atlas database for persistent logs with crud, user and priority, and React Bootstrap components.
Create an add log item component that renders a bootstrap-styled form inside a card, using useState to manage text, user, and priority with a select input and submit button.
This is a hands on, project based course on learning how to build and package cross-platform desktop applications using Electron. Many popular apps including VSCode, Slack and Skype are built on Electron.
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