Electron:
If you can build a website, you can build a desktop app. Electron is a framework for creating native applications with web technologies like JavaScript, HTML, and CSS. It takes care of the hard parts so you can focus on the core of your application.
React JS:
React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes.
Firebase:
Firebase gives you functionality like analytics, databases, messaging and crash reporting so you can move quickly and focus on your users.
--- Course Overview ---
The first section of the course covers the basics of Electron JS, including its features and concepts like the main and renderer process. The React Library will handle the application's UI portion, and Webpack will be responsible for bundling the source files.
In the second section, multiple views such as Home, Chat, and Settings will be created and a routing system will be integrated to allow navigation between views. Students will learn how to use Firestore queries and manipulate data. The redux architecture will handle state management, storing data in the Firestore database.
The third section will focus on authentication, with the creation of login and register forms, and handling of errors from Firestore. Only logged-in users will have full access to the application.
The fourth section will cover redux middleware and the Notification feature, which will be able to detect changes in a user's online/offline status.
The fifth section will focus on chat management, including chat creation and joining functionality. The online status of a user will be displayed, indicating whether they are online or offline.
In the sixth section, messaging features will be added, allowing users to write and send messages that will be synchronized across all active clients.
The seventh section will involve small adjustments to the Electron environment, including creating an application menu, adding a tray icon, and changing the application icon and splash screen. The final lectures will cover the build configuration, allowing the application to be built into executable files for Windows, Linux, and macOS.
The course now includes an additional app, which teaches students how to initialize an application using Electron Forge. The app is built using React and Typescript, and students will also gain knowledge on integrating ChatGPT into the application.
There is much more covered in the lectures, and students will have the opportunity to work on an application they will hopefully enjoy. The instructor hopes to see students in the course.