diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..56897d4 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,81 @@ +# ------------------------------------------------- +# Global normalization +# ------------------------------------------------- +* text=auto + +# ------------------------------------------------- +# Core source and configuration files (LF) +# ------------------------------------------------- +*.java text eol=lf +*.properties text eol=lf +*.xml text eol=lf +*.yml text eol=lf +*.yaml text eol=lf +*.md text eol=lf +*.txt text eol=lf + +# Optional: web assets (LF everywhere) +*.html text eol=lf +*.css text eol=lf +*.js text eol=lf +*.json text eol=lf + +# ------------------------------------------------- +# Build tool / Gradle & Kotlin DSL files (LF) (safe even if not used) +# ------------------------------------------------- +*.gradle text eol=lf +*.gradle.kts text eol=lf +*.kts text eol=lf + +# ------------------------------------------------- +# Script wrappers (important for Spring Boot tooling) +# ------------------------------------------------- +mvnw text eol=lf +gradlew text eol=lf +*.sh text eol=lf + +# ------------------------------------------------- +# Windows scripts +# ------------------------------------------------- +*.bat text eol=crlf +*.cmd text eol=crlf +# PowerShell Core friendly +*.ps1 text eol=lf + +# Wrapper batch files (explicit for clarity) +gradlew.bat text eol=crlf + +# ------------------------------------------------- +# GitHub language statistics +# Emphasize Java by ignoring frontend static assets +# ------------------------------------------------- +/src/main/resources/static/** linguist-ignore + +# ------------------------------------------------- +# Reduce noisy diffs +# ------------------------------------------------- +*.min.js -diff +*.min.css -diff +package-lock.json -diff +yarn.lock -diff +pnpm-lock.yaml -diff + +# ------------------------------------------------- +# Binary assets (no diffs) +# ------------------------------------------------- +*.png binary +*.jpg binary +*.jpeg binary +*.gif binary +*.webp binary +*.pdf binary +*.pptx binary +*.docx binary +*.xlsx binary +*.jar binary +*.zip binary + +# ------------------------------------------------- +# Keep SVGs diffable (and normalize line endings) +# ------------------------------------------------- +*.svg text eol=lf diff --git a/.gitignore b/.gitignore index 74183ce..1e1036c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,235 +1,20 @@ - -# Created by https://www.gitignore.io/api/node,java,macos,maven,eclipse,angular,intellij,netbeans,visualstudio,visualstudiocode -# Edit at https://www.gitignore.io/?templates=node,java,macos,maven,eclipse,angular,intellij,netbeans,visualstudio,visualstudiocode - -### Angular ### -## Angular ## -# compiled output -dist/ -tmp/ -app/**/*.js -app/**/*.js.map - -# Miscellaneous -/.angular/cache - -# dependencies -node_modules/ -bower_components/ - -# IDEs and editors -.idea/ - -# misc -.sass-cache/ -connect.lock/ -coverage/ -libpeerconnection.log/ -npm-debug.log -testem.log -typings/ - -# e2e -e2e/*.js -e2e/*.map - -#System Files -.DS_Store/ - -### Eclipse ### -.metadata -bin/ -*.tmp -*.bak -*.swp -*~.nib -local.properties -.settings/ -.loadpath -.recommenders - -# External tool builders -.externalToolBuilders/ - -# Locally stored "Eclipse launch configurations" -*.launch - -# PyDev specific (Python IDE for Eclipse) -*.pydevproject - -# CDT-specific (C/C++ Development Tooling) -.cproject - -# CDT- autotools -.autotools - -# Java annotation processor (APT) -.factorypath - -# PDT-specific (PHP Development Tools) -.buildpath - -# sbteclipse plugin -.target - -# Tern plugin -.tern-project - -# TeXlipse plugin -.texlipse - -# STS (Spring Tool Suite) -.springBeans - -# Code Recommenders -.recommenders/ - -# Annotation Processing -.apt_generated/ - -# Scala IDE specific (Scala & Java development for Eclipse) -.cache-main -.scala_dependencies -.worksheet - -### Eclipse Patch ### -# Eclipse Core -.project - -# JDT-specific (Eclipse Java Development Tools) -.classpath - -# Annotation Processing -.apt_generated - -.sts4-cache/ - -### Intellij ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -.idea/modules.xml -.idea/*.iml -.idea/modules -*.iml -*.ipr - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format -*.iws - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -.idea/httpRequests - -# Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser - -### Intellij Patch ### -# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 - -# *.iml -# modules.xml -# .idea/misc.xml -# *.ipr - -# Sonarlint plugin -.idea/**/sonarlint/ - -# SonarQube Plugin -.idea/**/sonarIssues.xml - -# Markdown Navigator plugin -.idea/**/markdown-navigator.xml -.idea/**/markdown-navigator/ - -### Java ### -# Compiled class file -*.class - -# Log file -*.log - -# BlueJ files -*.ctxt - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.nar -*.ear -*.zip -*.tar.gz -*.rar - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* - -### macOS ### -# General +################################################################################ +# Source code repository for luv2code training courses. +# https://www.luv2code.com +################################################################################ + +################################################################################ +# OS-SPECIFIC FILES +################################################################################ + +######################################## +# macOS +######################################## .DS_Store .AppleDouble .LSOverride - -# Icon must end with two \r Icon - -# Thumbnails ._* - -# Files that might appear in the root of a volume .DocumentRevisions-V100 .fseventsd .Spotlight-V100 @@ -237,482 +22,141 @@ Icon .Trashes .VolumeIcon.icns .com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share .AppleDB .AppleDesktop Network Trash Folder Temporary Items .apdisk +*.icloud + + +######################################## +# Windows +######################################## +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db +[Dd]esktop.ini +$RECYCLE.BIN/ +*.stackdump +*.lnk + + +######################################## +# Linux +######################################## +.Trash-* +.cache/ +.config/ +.local/ +*.directory +*~ +*.tmp +lost+found/ + + +################################################################################ +# JAVA & BUILD ARTIFACTS +################################################################################ -### Maven ### +# Compiled output +*.class +*.ctxt +*.log + +# Java packaged archives (avoid committing builds) +*.jar +*.war +*.ear +*.nar +*.zip +*.tar.gz +*.rar + +# JVM crash logs +hs_err_pid* +replay_pid* + + +################################################################################ +# MAVEN +################################################################################ + +# Build output target/ + +# Maven internal metadata pom.xml.tag pom.xml.releaseBackup pom.xml.versionsBackup pom.xml.next release.properties dependency-reduced-pom.xml + +# Build number & wrapper buildNumber.properties .mvn/timing.properties .mvn/wrapper/maven-wrapper.jar -.flattened-pom.xml - -### NetBeans ### -**/nbproject/private/ -**/nbproject/Makefile-*.mk -**/nbproject/Package-*.bash -build/ -nbbuild/ -nbdist/ -.nb-gradle/ - -### Node ### -# Logs -logs -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt -# Bower dependency directory (https://bower.io/) -bower_components +################################################################################ +# INTELLIJ IDEA +################################################################################ -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -jspm_packages/ +.idea/ +*.iml +*.iws +*.ipr -# TypeScript v1 declaration files +out/ -# TypeScript cache -*.tsbuildinfo -# Optional npm cache directory -.npm +################################################################################ +# ECLIPSE +################################################################################ -# Optional eslint cache -.eslintcache +.metadata/ +.project +.classpath +.settings/ +.loadpath +.recommenders/ -# Optional REPL history -.node_repl_history +bin/ +tmp/ -# Output of 'npm pack' -*.tgz +*.tmp +*.bak +*.swp -# Yarn Integrity file -.yarn-integrity -# dotenv environment variables file -.env -.env.test - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# next.js build output -.next - -# nuxt.js build output -.nuxt - -# react / gatsby -public/ - -# vuepress build output -.vuepress/dist - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -### VisualStudio ### -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. -## -## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore - -# User-specific files -*.rsuser -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Mono auto generated files -mono_crash.* - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -[Aa][Rr][Mm]/ -[Aa][Rr][Mm]64/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ - -# Visual Studio 2015/2017 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# Visual Studio 2017 auto generated files -Generated\ Files/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUnit -*.VisualState.xml -TestResult.xml -nunit-*.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# Benchmark Results -BenchmarkDotNet.Artifacts/ - -# .NET Core -project.lock.json -project.fragment.lock.json -artifacts/ - -# StyleCop -StyleCopReport.xml - -# Files built by Visual Studio -*_i.c -*_p.c -*_h.h -*.ilk -*.meta -*.obj -*.iobj -*.pch -*.pdb -*.ipdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp_proj -*_wpftmp.csproj -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# Visual Studio Trace Files -*.e2e - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding add-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# AxoCover is a Code Coverage Tool -.axoCover/* -!.axoCover/settings.json - -# Visual Studio code coverage results -*.coverage -*.coveragexml - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# Note: Comment the next line if you want to checkin your web deploy settings, -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# NuGet Symbol Packages -*.snupkg -# The packages folder can be ignored because of Package Restore -**/[Pp]ackages/* -# except build/, which is used as an MSBuild target. -!**/[Pp]ackages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/[Pp]ackages/repositories.config -# NuGet v3's project.json files produces more ignorable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt -*.appx -*.appxbundle -*.appxupload - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!?*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -orleans.codegen.cs - -# Including strong name files can present a security risk -# (https://github.com/github/gitignore/pull/2483#issue-259490424) -#*.snk - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm -ServiceFabricBackup/ -*.rptproj.bak - -# SQL Server files -*.mdf -*.ldf -*.ndf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings -*.rptproj.rsuser -*- [Bb]ackup.rdl -*- [Bb]ackup ([0-9]).rdl -*- [Bb]ackup ([0-9][0-9]).rdl - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) -*.vbw - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# CodeRush personal settings -.cr/personal - -# Python Tools for Visual Studio (PTVS) -__pycache__/ -*.pyc - -# Cake - Uncomment if you are using it -# tools/** -# !tools/packages.config - -# Tabs Studio -*.tss - -# Telerik's JustMock configuration file -*.jmconfig - -# BizTalk build output -*.btp.cs -*.btm.cs -*.odx.cs -*.xsd.cs - -# OpenCover UI analysis results -OpenCover/ - -# Azure Stream Analytics local run output -ASALocalRun/ +################################################################################ +# VISUAL STUDIO CODE +################################################################################ -# MSBuild Binary and Structured Log -*.binlog +.vscode/ +.history/ +*.vsix -# NVidia Nsight GPU debugger configuration file -*.nvuser -# MFractors (Xamarin productivity tool) working folder -.mfractor/ +################################################################################ +# CLAUDE CODE +################################################################################ -# Local History for Visual Studio -.localhistory/ +.claude/ +CLAUDE.md -# BeatPulse healthcheck temp database -healthchecksdb - -# Backup folder for Package Reference Convert tool in Visual Studio 2017 -MigrationBackup/ -### VisualStudioCode ### -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json +################################################################################ +# GENERIC BUILD & TEMP +################################################################################ -### VisualStudioCode Patch ### -# Ignore all local history of files -.history +build/ +dist/ -# End of https://www.gitignore.io/api/node,java,macos,maven,eclipse,angular,intellij,netbeans,visualstudio,visualstudiocode +*.swp +*.swo +*.bak +*.tmp +*~.nib diff --git a/README.md b/README.md index 6f7904b..d367b4e 100644 --- a/README.md +++ b/README.md @@ -24,25 +24,30 @@ I'd recommend the following road map: ### Core Courses 1. [Java Programming Introduction for Beginners](https://www.udemy.com/course/java-intro-for-beginners/?referralCode=325F0EA33466DA1D8710) -1. [Spring Boot 3, Spring 6 and Hibernate for Beginners](http://www.luv2code.com/spring-github) +1. [Spring Boot 4, Spring 7 and Hibernate for Beginners](http://www.luv2code.com/spring-github) 1. [Spring Boot Unit Testing](https://www.udemy.com/course/spring-boot-unit-testing/?referralCode=4184DE360D78A70932EE) -1. [Deploy Spring Boot 3 Apps on AWS (Amazon Cloud)](https://www.udemy.com/course/deploy-spring-boot-3-apps-to-aws/?referralCode=DCE8981B59C70BA6BDBF) +1. [Deploy Spring Boot 4 Applications on AWS](https://www.udemy.com/course/deploy-spring-boot-3-apps-to-aws/?referralCode=DCE8981B59C70BA6BDBF) 1. [Hibernate: Advanced Development Techniques](https://www.udemy.com/course/hibernate-tutorial-advanced/?referralCode=6FB9E2BA9AF54A4C9E69) 1. [Master Java Design Patterns](https://www.luv2code.com/master-java-design-patterns-github) ### Project Course: Spring Boot, Spring MVC and Thymeleaf For end-to-end project with Spring Boot, Spring MVC and Thymeleaf: -1. [Spring Boot 3 Project - Build a Job Portal Web Application](https://www.udemy.com/course/spring-boot-project-job-portal-web-app/?referralCode=BB9301596150194B61E2) +1. [Spring Boot 4 Project: Build a Job Portal Web Application](https://www.udemy.com/course/spring-boot-project-job-portal-web-app/?referralCode=BB9301596150194B61E2) -### REST API Project Course: Spring Boot REST APIs +### REST API Project Course: Spring Boot 4 REST APIs: Building Modern REST APIs This is an intermediate level course that includes four REST API projects: -1. [Spring Boot REST APIs - Building Modern APIs with Spring Boot](https://www.udemy.com/course/spring-boot-rest-apis/) +1. [Spring Boot 4 REST APIs: Building Modern REST APIs](https://www.udemy.com/course/spring-boot-rest-apis/) ### Project Courses: Full Stack For full stack projects, you have the choice of either Angular or React. Pick the one that you like the best. 1. [Full Stack: Angular and Spring Boot](https://www.udemy.com/course/full-stack-angular-spring-boot-tutorial/?referralCode=2264F90C65A86316BB6B) 1. [Full Stack: React and Spring Boot](https://www.udemy.com/course/full-stack-react-and-java-spring-boot-the-developer-guide/?referralCode=4325FA579FD3D313E28D) +### Java Web Test Automation +Learn how to automate web browser testing using Java and test automation frameworks: +1. [Java Playwright: Master Web Test Automation](https://www.luv2code.com/java-playwright-github) +1. [Java Selenium: Master Web Test Automation](https://www.luv2code.com/java-selenium-github) +   ## More luv2code Courses For more courses, visit the [luv2code website](https://www.luv2code.com).