
Explore building a desktop to-do list app with React and Electron, and connect a restful API to add, update, and delete todos within the app.
Install open JDK locally using Adopt JDK to run Java projects, selecting long-term stability version 11 and the JVM, then verify by checking the Java version.
Recommend using IntelliJ for Java and Kotlin development, due to faster setup and built-in database tools, versus Visual Studio Code, with options like early access and free trials.
Learn to bootstrap a Spring Boot project with Gradle, Java 11, and PostgreSQL, adding Lombok, Spring Web, Spring Data JPA, Flyway migrations, and JPA Buddy for easier migrations.
Configure a Spring Boot database connection by setting the JDBC URL, username, and password for a PostgreSQL localhost database, then test the connection.
Create a JPA entity with an identity id, a title string, and a completed boolean, using Lombok for getters and setters, and add a JPA repository.
Generate flyway migrations by diffing models to create a todo table with id, title, and completed, and note that migrations run automatically when you start the application.
Create a Spring Boot Java controller with REST controller and post mapping to accept a to-do via request body and save it to the repository.
Learn to build get requests in Spring Boot, exposing endpoints to fetch all todos and a single todo by id using get mapping, path variables, and a Lombok-enabled repository.
Implement update requests in Spring Boot with a put mapping, using a path variable id and request body to update a todo via repository find by id and save.
Develop a delete endpoint in Spring Boot by mapping a delete request with a to-do id, performing delete by id in the repository, and validating a 200 response.
Build an electron desktop app using electron builder and the electron react boilerplate; clone the project, run npm install, and launch with npm start to view the boilerplate in action.
Install Ant Design as the CSS framework, start the Electron React app, import the Ant Design CSS, and add a button component while reviewing button types in the docs.
Create a services folder and a todo service to connect to a RESTful API, define a Todo interface, and implement fetch-based methods to list todos and fetch by id.
Learn to implement create, update, and delete for a todo list using a base URL and ID, posting JSON payloads, handling JSON responses, and deleting todos by ID.
Build a todo list boilerplate by creating a React component, wiring state and lifecycle hooks (useState, useEffect, useCallback), and integrating create, load, update, and delete todo operations with a service.
Add todo list state by loading todos from JSON, setting active and completed todos, and implementing a refresh flow using useCallback and useEffect to memoize the refreshing logic.
Design and implement a React component-based to-do list with tab panes for all and completed, creating a dedicated to-do tab and to-do item with props and actions.
Create a reusable todo item component in React with remove and toggle actions, including a switch and tooltip, and color changes based on completion.
Todo tabs enable creating and managing todos with a tabbed interface, including marking as completed, deleting, submitting via a form, and toggling status to view active, completed todos.
Build an add form for the todo list using React and Electron, with input fields, required validation, a two-column layout, and a submit button exported as the to-do form.
If you're tired of long courses and just want to learn basic web development this course is for you. This course was built with the goal of teaching the students how to use Java, Spring Boot, and React Electron. It focuses heavily on designing a backend RESTful Web Service with CRUD functionality that sends data to a React Electron Front End Application. This is an entry-level course that focuses on building and reinforcing some of the techniques used by developers to build a full-stack application.
In this course, we start by learning what tools you need to create a full-stack Before taking this course, it is recommended that you have an understanding of skills such as Javascript, Java, Java, Basic SQL, or ORM development. If not we'll touch on some of those topics early in the course but it is still recommended to have a better understanding.
When going through this course you may come across subjects that you are familiar with as well as those that are completely new to you.
Some of the topics touched upon include
React Hooks
React Functional Components
HTTP Requests with Fetch
CRUD Methods
Java Programming Language
Spring Boot
Database Migrations
ORMs
When taking this course, please know that you can take your time because you will get access to support along the way. By the time you finish this course, you should feel comfortable creating a full-stack web application with React Electron, Java, and Spring Boot.