Course Contents
Day 1: Introduction to Java and JDoodle and Basics
How to get the most out of this course!
Follow your Daily Success with out Check Off List!
Java Development Career Path - Why Learning Java is a Great Investment
JOIN THE COMMUNITY! - LINKS -
Intro
Introduction to Java
Quick overview of JDoodle
Displaying Text on The Screen Intro
Hello World - Displaying Text
Understanding the Predefined Code
Common Errors you can run into
Search for errors and fix them with Gen AI
Let's Practice: Fun with Print Statements
Debugging Basics - How to Solve Errors
Additional java features
print vs println - comments and escape sequences
(Optional theory) Java Under the hood
Numbers and basic Math
(Optional) Getting Started with JDoodle
Introduction
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: Displaying Text with Java and Escape Sequences
Day 2: Variables and Data Types in Java
Intro
Variables Intro and Naming Conventions
Declaring and Initializing variables
Datatypes Quick Overview
Datatypes For Whole Numbers
Datatypes For Floating Point Numbers Float and Double
Datatype Char
Datatype Boolean
Datatype String
Declaring multiple variables at once
Arithmetics with variables
TypeCasting Implicit and explicit
Let's Practice: Shape Transformation
Variables and Data types
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: Variable Manipulation and Data Types in Java
Day 3: Handling User Input and Simple Calculation
Intro
Introduction to Handling User Inputs
User Input with Text and the Scanner Class
User Input with Numbers and simple addition
Next Line Buffer behaviour
Let's Practice: Calorie counter pro
Solution Calories Counter Pro
Overview of Operators
Modulo Operator
Unary, Increment, Decrement Operators
Relational Operators
Compound Operators
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: Handling User Input and Simple Calculations
Day 4: String Manipulation and Comparison
Intro
Strings Overview
Strings Creation and Concatenation
Strings length and charAt method
String Comparison with == Comparing References
String Comparison with equal and equalIgnoreCase
String Comparison with compareTo - lexicographically
Cutting strings using substring()
String replace, toUpperCase, toLowerCase
String format with strings and numbers
Operator Precedence and Associativity
Java Basics - Part 2
Let's Practice: Simple Interest Calculator
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: String Manipulation and Comparison in Java
Day 5: Setting up the Java Development Environment
Intro
DISCLAIMER: KEEP AN EYE ON YOUR VERSION
Overview JDK and IDE
(Optional) Advanced knowledge about JDK
Installing the JDK and Java Environment Variable
Programming Java Without any IDE just the text editor
Why IDE?
Installing IntelliJ IDEA
Some cool features of IntelliJ IDEA
Autocompletion and closing a project
Starting from an empty project and unused Variables
Renaming refactoring
Let's Practice: Budget Tracker Plus
Budget Exercise Solution
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: Budget Tracker Plus in Java
Day 6: Control Statements - If, Else, and Ternary Operators
Intro
Control Statements in Java overview
If Statement
Nested If Statement
Logical Operators
Let's Practice: Chatbot
If Statements Exercise Chatbot
If Else Control Statements
Nested If Else Control Statements
If Else If Else
If Else If Else - Understanding the Flow using Breakpoints
Ternary Operators
Let's Practice: Galaxy Weather Advisor
Control Statements
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: Galaxy Weather Advisor
Day 7: Switch Statements and Enums in Java
Intro
Presentation of the Day - Switch Control Statement
Basic Switch Statement
Default and break
Break and fall through
If Statements vs Switch Statements
Switch Statements with Char
Switch Statements with Strings
Enums and Switch
Why Enums
Switch within switch and prep for exercise
Let's Practice: Text based Adventure
Text based Adventure Game with Switch Statement
Java Switch Statements
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: The Ultimate Adventure Game Using Switch Statements
Day 8: Loops - For, While, and Do-While Loops
Intro
Loops Introduction Presentation For Loop
For Loops
Let's Practice: Star Pyramid Builder (Beginner)
Nested For Loops
Pyramids with for loops
Interview Question Fibonacci Sequence
Job Interview question: Fibonacci sequence
While Loop
Do While Loop
Break Keyword in Loops
Continue Keyword in Loops
Labels and break and continue
Let's Practice: Controlling loops
Loops
Interview Question Harshad Number
Job Interview Question: Harshad Number
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: Simple Calculator with Loops
Day 9: Introduction to Arrays
Intro
Introduction to Arrays
Declaring, Initializing, Accessing and Modifying arrays
Array Length and For Loops to iterate through arrays
Enhanced For Loop - For Each Loop
Sum, min and max of an array
Let´s Practice: Rearranging Array Challenge
Rearranging Array Challenge Solution
Arrays Class and common methods
Arrays toString and sort Methods
Array binarysearch method
CopyOf and by value vs by reference
Arrays Fill and equals
Java Arrays
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: Array Shuffle and Operations
Day 10: Working with 2D Arrays
Intro
2D Arrays overview
2D Arrays - Declaration, initialization and iteration
2D Arrays - Easier initialization
2D Arrays - Enhanced for loops
2D Arrays - get the largest number
2D Arrays - get the sum of all items in a 2d array
2D Arrays - Exercise
Job Interview Question: Diagonal Sum
ArrayList Intro
ArrayList and its methods
Let's Practice: Space Travel Simulator
Quiz: Strings & Arrays
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: Space Travel Simulator with 2D Arrays
Day 11: Methods and Their Uses
Intro
Presentation Methods intro
Void Method
Void Methods with parameters
Sandwichmaker 3000
Pass by Value vs Pass by reference
Method that returns something
Subtract Method
Generating random numbers
Intro Word Scramble Game
Building a Word Scramble Game
Interview Question: Validate an Email address
Methods
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: TODO List Application with Methods
Day 12: Recursive Methods and Call stacks
Intro
Recursive Methods Intro
Recursive Methods in action - Factorial
Recursive Methods base case and recursive case
Recursive Methods common error - infinite recursion
Creating our secret language app - atbash method
Creating our secret language app - encoding
Creating our secret language app - decoding
Let's Practice: Atbash cipher
Understanding the Method Call stack
Understanding the Method Call stack with debugging
Method stack with recursive methods and overdoing it
For loop alternative for factorials
Visualising high memory usage
Alternative solution
Magic Mirror Exercise
Let's Practice: The Magic Mirror: Reflecting Strings with Recursion
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: String Reverser Using Recursion
Day 13: Exercises on Arrays and Number Handling
Intro
Exercise 1 - Remove duplicate elements from an array
Solution and Explanation
Exercise 2 - Number of Digits
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 14: Binary Search and Number Guessing Game
Intro
Binary Search explanation
Binary Search Introduction and how it works
Game Introduction
Numbers Guessing Game Solution
Explanation and Example Interaction
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
- DOWNLOAD SOURCE - Get your Downloadables here!
Day 15: Project: Todo App in Java
Intro
The Problem Statement. What do we want from the Todo App
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 16: Object-Oriented Programming Basics
Intro
Introduction to OOP presentation
Creating our first class
Creating our first class method
Using Member Variables
Function vs Method
Default Constructor
Parameterized Constructor
The this keyword
Let's Practice: Working with array of Objects
Constructor Overloading
The public, default, and private access modifiers
Setters and understanding why they are important
Let's Practice: Generating Math Quizzes
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: Student Grades Tracker Using Classes
Day 17: Understanding the this keyboard Static Methods
Intro
Understanding the This keyword better
getInstance vs Reference with this
Method Chaining
Using Objects as Parameters
Copy Constructor
The static keyword
Why can't a non-static method be called from a static method
Let's Practice: Dice Rolling Adventure
Dice Game Exercise Solution
Java Constructors and Object Initialization
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: Employee Info Tracker Using this and Static Methods
Day 18: Inheritance and the Super keyword
Intro
Inheritance overview
First steps in inheritance
Super keyword presentation
Super keyword with constructors
Super keyword with methods
Multi-Level Inheritance
Multi-Level Inheritance demo
Method overriding
Method overriding demo
Protected access specifier
Packages and all Access specifiers
Let's Practice: Word Guessing Game
Java Inheritance & OOP Concepts
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: Basic Animal Class with Inheritance
Day 19: Polymorphism and Abstract classes vs Interfaces
Intro
OOP3 Polymorphism Intro
Hierarchical Inheritance in action
Why Polymorphism
Static Polymorphism Method Overloading
Dynamic Polymorphism Method dispatching
(Optional) Runtime Polymorphism
Abstraction - Abstract and Interface
Abstraction in Action - Payment Processing
Interface syntax
Interface in action
Abstract classes vs Interfaces
Abstract classes vs Interfaces - real world example
Encapsulation
More on OOP Concepts & Polymorphism
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: Vehicle Operations Using Polymorphism
Day 20: Course Project Overview
Intro
Presentation about the project - what you will gain
Project: Bank Account Management System
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Now I know basic Java, before we get further, what else do I need to know?
Day 21: Collections Framework Introduction
Intro
Collections Framework Intro
The Depths of Arraylists heritage
Overview of List Classes
LinkedList vs ArrayList - Speed Test
Vector vs ArrayList vs Sync Arraylist - Speed Test
Stack
Set overview
Hashset
Hash Table, LinkedHashSet, and TreeSet
Java Collections Framework
Interview Question: Duplicates with index difference
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: Unique Names Tracker Using a HashSet
22: Queue and Map interface
Intro
Queue and Map Presentation intro
PriorityQueue
ArrayDeque
Map interface and its classes
TreeMap
Hashmap
LinkedHashmap
HashTable and Concurrenthashmap
Iterator Interface
Java Collections Framework
22: Queue and Map interface
Java Collections Framework
Let's Practice: Word Frequency Counter
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: Basic Task Queue Using ArrayDeque
23: Exception Handling in Java
Intro
Exception Handling Presentation
Try and Catch
Using multiple Catch Blocks
Finally keyword
Rethrowing and Propagation Intro
Throw Keyword
ReThrowing Exceptions
Exception Propagation
Combining Exception Propagation with Exception rethrowing
Custom exceptions intro
Creating custom exceptions
Creating Custom Exceptions2
Let's Practice: Password Validator
Exception Handling
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: Simple Division with Exception Handling
Day 24: Java I/O - Working with Files and Streams
Intro
Java IO Intro
ByteArrayInputStream
Output Classes Intro
Try with resources and write text to a file using FileOutputStream
Try with resources with two resources and write text to a file using BufferedOut
Storing data in all kinds of data types using DataOutputStream
Input Classes Intro
Reading data types from a file using DataInputStream
Reading data from a txt file using BufferedInputStream
File Write Intro
Buffered vs Unbuffered Stream Speeds
Handling Files with the File Class
Checking if file exists and create it if not
Renaming Files with the File Class
Deleting a file using the file class
Creating Folders Directories Paths using the File Class
Displaying all files within a folder using the File Class
Serialization and Deserialization Intro
Serialization in action
Deserialization in action
Final Thoughts about De-Serialization and the transient keyword
Managing Serialization
Let's Practice: Simple Password Manager
Java I/O
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
ADVANCED EXERCISE: Writing and Reading from a File
Day 25: FXML and JavaFX Introduction
Intro
FXML Intro
Java Based UI vs FXML in larger projects
Understanding XML and more about FXML
Understanding the FXML in the generated file
Using Layouts within Layouts VBox and HBox in FXML
Using Comments in XML
MVC overview
Events in FXML and Alert onMouseEntered
Gridpane
styling and alignment
Style property
Alignment property
Why CSS makes sense
Borderpane in FXML
style.css styling our ui
More styling and hover effect
Let's Practice: Display a Confirmation & Alert Dialog
FXML and JavaFX Introduction
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 26: JavaFX and Basic UI Components
Intro
JavaFX Overview
Gradle and GroupID
Running our first GUI App
JavaFX File Structure overview
JavaFX Basics - Stage, Scene, Pane
Understanding the HelloApplication.java file
Loading a Resource of fxml type
Creating our own UI with java code
Lambda Expressions theory
Lambda Expressions Calculator
Lambda Expressions vs MultiOperations Implementations
Lambda Expressions why use lambdas
Lambda Expressions as Parameters
Single Argument Lambda expressions
Let's Practice: Adding Buttons on the screen
JavaFX and Basic UI Components
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 27: JavaFX Layout and Scene Builder
Intro
JavaFX Shapes Presentation
JavaFX Adding a Rectangle to a pane
JavaFX Adding a Circle and Line to a pane
JavaFX Layout Types
JavaFX Layout HBox
JavaFX Layout VBox
JavaFX Layout Stackpane
JavaFX Layout FlowPane
JavaFX Layout GridPane
BorderPane
Installing Scene Builder
Drag and Drop UI and connect it to our app
Modifying which event will be triggered and how FXML, Controller and Scene Build
Creating a Form with Scene builder
Let's Practice: Creating TextFields
Let's Practice: Creating a Basic Form
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 28: Event Handling and Data Binding in JavaFX
Intro
Handling Keyboard events intro
Building a JavaFX Project from scratch and understanding how the files interact
Using Key Events and EventHandlers as well as EventListeners
Mouse Events intro
Get the Mouse Position via Events
Databinding Intro
Databinding in action - UI Setup
Databinding in action
Move from one Scene to another
Retrieving the stage during runtime
Let's Practice: Moving Shapes using keystrokes
Changing Ball colour based on position
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 29: Animations in JavaFX
Intro
Intro Animations
Translate Transition intro
Translate Transition project prep
Translate Transition move an item via animation
Chain Animations
Start and stop animations with a button click
Fade Transition
Rotate Transition
ScaleTransition
Sequential- and ParallelTransition
Using ImageViews
Loading the image
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 30: Building a To-Do Application with JavaFX
Intro
Why building the To-Do App is a good idea
What we will build today
Role of the launcher class
Setting up the project from scratch
Understanding Gradle
Intro to MaterialFX and implementing it
Adding MaterialFX to Scene Builder
Fixing an error in the module-info.java file
Setting up the Main Class with the Theme and Stylesheet
Setting up our main interface
Setting up the task card and task controller
Setting up the main Controller and Testing the App with Dummy Data
Styling the ToDo App with CSS
DOWNLOAD SOURCE - Get your Downloadables here!
Day 31: Building a To-Do Application with JavaFX
DOWNLOAD SOURCE - Get your Downloadables here!
Day 31: Adding Features to the To-Do Application
Intro
What we will build today
Intro to DTOs
Creating a DTO TaskDTO
Changing the architecture of our app
Color Tasks based on status demo
Add Task Intro
Setting up the task dialog UI
Displaying the new task dialog
Adding Tasks via the dialog
Styling the dialog
View Task Dialog Intro
View Task Dialog Prep
Adding an ID to our Tasks
Displaying Task in Dialog
Adding Comments and viewing them
Updating Tasks
Updates to the TaskCardController class
What's next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 32: Enhancing To-Do Application - Sorting and Filtering
Intro
Intro for the sorting mechanism
Adding Sorting by Status
Adding Filter by Status Logic
Saving and Loading our Tasks permanently
Adding a Delete Feature
Understanding Observable, Listener and Callable
Outro
Day 33: Git and GitHub Integration
Intro
Version Control and Git Overview
Installing Git on Windows
Configure git user details
Git Commands
GitHub Intro
Git Commands Basics in action
Git Branches and Merging
SSH and connecting git to github
SSH and connecting git to github demo
Connecting our Project to github
Let the IDE share your project to github
Commit and Push in IDE
Git
What´s next?
Day 34: Dependency Injection in Spring
Intro
Spring Intro
Where is spring used
Types of Dependency Injection (DI)
Constructor Dependency Injection
Setter Dependency Injection
More on Setter DI
When to use Constructor DI and when Setter DI
Java Spring
Let´s practice: Smart Home Automation
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 35: Beans and Inversion of Control (loC) with Spring Boot
Intro
Introduction to Beans and IoC
Lifecycle of beans
Understanding Beans IoC and ApplicationContext better
Advantages of using ApplicationContext
Spring Initializr and ApplicationContext Beans
Making a class a bean, and retrieving it from context
Clean Spring project and more beans
AutoWired - Field Dependency Injection
Clean IoC Architecture with CommandLineRunner and Spring Boot
Spring Beans
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 36: Autowiring and Component Scanning in Spring
Intro
Autowiring Intro
Autowiring Modes
Autowiring by Type
Autowiring by Name
Autowiring by Constructor
No Autowiring - Manual Wiring
@Component and @Service
@Configuration and @ComponentScan
@Configuration and @ComponentScan in Action
Let's Practice: Personalised Welcome Message
Autowiring
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 37: Generics and Bounded Types
Intro
Generics and Type Parameter
Why not just use an ObjectPrinter
Bounded Generics
Generic Methods
Generic Methods - swap items in an array
Generic Methods with multiple generic parameters
Bounded Type Parameters in Generic Methods
Let´s Practice: Generic Stack
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 38: Dependency Injection and @Qualifier in Spring
Intro
What we will cover today
Field Injection with @Autowired
Understanding DI Hierarchy
Constructor DI vs Field DI
@Qualifier vs @Primary intro
Understanding @Service and @Qualifier demo
@Primary demo
What even is a service?
Interview Question: Peeking Iterator with Field Injection
Dependency Injection
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 39: Spring Boot and MVC ChatApp
Intro
Spring vs Spring Boot presentation
Spring Boot Auto Configuration, Setup and @PostConstruct
The Power of @PostConstruct
Spring MVC Explained
CommandLineRunner
MVC ChatApp - Models and Service
MVC ChatApp - Controller and Testing
Let's Practice: Text Based Chat
Spring MVC web under the hood
Spring Boot
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 40: Introduction to Web Development and REST APIs
Intro
Introduction to Web Development HTTP GET, POST, PUT, DELETE and API
Understanding HTTP Response codes
REST, Restful, Restless, CRUD
HTTP vs HTTP Methods, REST vs API
Our First REST API Server localhost 8080
HTTP Status Codes and ResponseEntity
@Controller vs @RestController and a bit of JSON
Using @PathVariable
Using @RequestParam for Query Parameters
Using @RequestParam and @PathVariable and when to use what
What are Tomcat Servers
Let's Practice: Listing User Profiles
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 40: JSON Processing and Lombok Annotations
Intro
Day 41: JSON Processing and Lombok Annotations
Intro
Intro for the day and Postman
Installing Postman and quick test
JSON Basics, Jackson and ObjectMapper
JSON Serialization with ObjectMapper and Jackson
JSON Deserialization with ObjectMapper and Jackson
Modify JSON dynamically using ObjectNode and JSONNode
Lombok Annotations
@JsonProperty and @JsonPropertyOrder
@JsonIgnore and @JsonInclude
Lombok @Setter and @Getter
Lombok @ToString, @NoArgsConstructor, @AllArgsConstructor, @EqualsAndHashCode
Let's Practice: Personal Expense Tracker
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 42: CRUD Operations with SpringBoot RESTful services
Outro
SpringBoot RESTful services POST and PUT
Post request and @RequestBody
POST with Postman
Storing Products in a JSON and Updating our Request
Get Products and Get Product by ID
PUT operation - Updating the database
Delete operation CRUD
Let's Practice: Product Management API
RESTful API
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 43: Expense Tracker Application
Intro
Expense @Data Class
Loading the Expenses
Filtering by Category like a pro using stream map
Refactoring, Filtering and Making Services
Testing our other endpoints
FindById
AtomicLong and Adding Items with PUT
Updating with PUT
Deleting Expenses
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 44: Spring Data Access and H2 Databases
Intro
Spring Data Access Intro
Spring Data Access Advantages
JDBC and JPA
Hibernate
Understanding different Database Types and H2 Database
Intro to H2 Databases
Setting up our H2 Project and application.yml
Setting up an Entity
Repository, Service, Controller and Testing
Testing the h2 console
Spring Data Access
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 45: Integrating PostgreSQL with Expense Tracker
Intro
H2 for our Expense Tracker Intro
Adding dependencies and the application.yml to our expense tracker app
Adding the Entity and the Repository
Neon PostgreSQL Database overview
Connecting to a PostgreSQL Cloud Database
Outro
Day 46: Spring Security Basics and User Authentication
Intro
Spring Security Intro. Authentication, Authorization etc
Security Config Class
Setting up Security Config Class and testing authentication
Requestmatchers permitAll for public pages
Customizing UserDetailsService for Authentication
Creating an inmermory User and checking out bcrypt
Managing User Roles
Password encryption and hashing with bcrypt
Adding Password encryption and hashing with bcrypt
Logout, Sessions, Cookies and more
Implementing Logout to our demo
Security Vulnerabilities
Let's Practice: Employee Management System
Introduction to Spring Security
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 47: Session Management and JWT Authentication
Intro
Session Management Intro
Session Demo
Session Timeout Demo
State vs Stateless Authenticatin JWT, etc.
Stateless Authenticatin using JWT
JWT in Action with Postman and rundown of JwtUtil einschub
JWT in Action with Postman and rundown of JwtUtil
JwtAuthFilter rundown
Let's Practice: Casting Votes
JWT Authentication with Spring Security
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 48: User Sign-Up and JWT Integration
Intro
User Sign UP and Log in Intro
Setting up the H2 In Memory DB
Sign up controller and Service Intro
Sign up new user
Adding JWT to our Signup and login - Intro
Adding JWT to our Signup and login - demo
Login via database user data - demo
Day summary
Concepts Learned in Implementing User Sign-Up and Authentication
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 49: Advanced JWT Implementation and Security Configuration
Intro
Intro Security for our Expense tracker
Adding the SecurityConfig to our Expense Tracker
AuthController Overview
AuthController Implementation
JWTUtil class overview
JWTUtil class implementation
JWTAuthFilter intro
Setting up the AppUser, Repository and signup endpoint
Setting up the UserDetailServiceImpl
JwtFilter
Adding the Filter before Spring security authenticates
Creating the User Login Flow intro
Creating the AuthServiceImpl class
Separating the concerns
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 50: Role-Based Access Control (RBAC) and Final Touches to Expense Tracker
Intro
Expense Tracker Final Touches RBAC intro
RBAC and middleware
Mapping Users to expenses Part 1
Mapping Users to expenses part - Part 2
Adjusting the Controller
Testing user-based database access
Implementing RBAC - Intro
Prepping UserRoles and hardcoding Admin
AdminService and AdminController
Future Scope
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 51: Expense Tracker Authentication with JavaFX
Intro
Expense Tracker Authentication with JavaFX Intro
Setting up JavaFX Project and HTTPClient
Setting up MaterialFX
Setting up Login, Signup and Loading Views and Controllers
Setting up Preferences that hold the JWT Token
Moving between Login and Signup Scenes
Creating the HTTPResonse sendPostRequest method
Finalizing actual signup via our UI and creating the AuthService class
Adding the login feature
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 52: Expense Tracker: Rendering User expense (expense-ui)
About the Day
Creating the Main UI
Adding Fields to the Expense Table
Explaining the Edit and Delete buttons
Fetching Expenses from API
Handling Authentication Failure
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 53: Expense Tracker: Add Expense UI (add-expense-ui)
About the Day
Designing the Add Expense View
Handling Form Validations
Calling API to add expense
Updating the main screen
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 54: Expense Tracker: Editing Expense UI (edit-expense-ui)
Assignment! Practice your skills!
Connecting the Edit Expense view
Calling API to Edit expense
Showing Alert on Delete button press
Article: JavaFX Alerts
Calling delete API and updating the Main Screen
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 55: Expense Tracker: Viewing Statistics (stats-ui)
Assignment! Practice your skills!
Creating the Statistics view
Fetching data from backend and updating stats
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 56: Expense Tracker: Building and Sharing (production)
Assignment! Practice your skills!
Uploading backend to github
Deploying the backend using Railway
Updating baseUrl in the User Interface
Final Touches
Building the jar file and sharing
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 57: Final Day: Threads and Concurrency
About the day
Introduction to threads
Creating and managing threads
Thread Synchronization
Thread Communication
Concurrency Utilities
Using Concurrent Collections
Avoiding common thread issues and Best pratices
Let´s Practice: Dining Philosophers
What´s next? - DOWNLOAD SOURCE - Get your Downloadables here!
Day 58: Final Day: Practice 1: Java Basics
About the Day
Swap 2 variables without using a 3rd variable
String Compression
Find the largest sum subarray
Rotate Array
Array Permutations
Top K frequent elements
Parking Lot Design
Day 59: Final Day: Practice 2: Java Advanced
About the Day
Recap
LinkedList Cycle
Anagram Checker
Article: Binary Tree, Heap and PriorityQueue
Call Center Simulation
Understanding Graphs, BFS & DFS
URL Crawler
Day 60: Final Day: Practice 3: Spring ad SpringBoot
About the Day
Recap
Circular dependency with DI
Handling multiple Beans
Custom Error Handling
Answering advanced questions




















































