Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Book List App

BookListApp

Description

This is a basic app for learning. I have developed apps in .NET MAUI so this is kinda similar to me. Though I have never actually used java for anything, seeing some job oppurtunities prefer Java over C# I wanted to diversify my knowledge. Knowing JavaFx isn't the standard for developing desktop apps I still wanted to learn, but from what I saw JavaFx is the best choice for developing apps in Java.

I decided a simple CRUD app was the best way to do this. Just using local memory (Aug 29, 2026) with plans to potentially connect a database as a learning experience.

The app allows users to fill out fields for Name, Author, Year of Publication, Genre, Url for a cover photo. It than displays the inputed books in a table, allowing users to delete and update books as they see fit.

AI Usage

I used Claude to help be scaffold the tech stack and get me familiar with Maven. It also did the FXML because before this I didn't even know what tags existed in the mark up language. In saying that I have since familiarized myself with it. I also had it do the odd thing here and there explaining its movements each step of the way. In saying that most of the coding done in this app is from me. Great learning experience especially coming from a C# background where variable == "word" is okay. Also I had it write the Tech stack info below.

Tech Stack

Layer Technology Version
Language Java (Microsoft OpenJDK) 17
UI toolkit JavaFX (javafx-controls, javafx-fxml) 21.0.5
UI markup FXML —
Build Apache Maven 3.9.16
Compiler plugin maven-compiler-plugin 3.8.0 (<release>17</release>)
Run plugin org.openjfx:javafx-maven-plugin 0.0.8
Packaging JPMS named module learningappone —
Storage In-memory ObservableList — nothing persisted —

JavaFX 21 is the LTS line that still targets JDK 17; moving past it would require a newer JDK.

Project Layout

src/main/java/learningappone/
├── App.java                 Application entry point, loads the FXML
├── PrimaryController.java   Form handlers, table cell factories
├── models/Book.java         Model: title, author, genre, year, cover URL, UUID
└── module-info.java         requires javafx.controls + javafx.fxml

src/main/resources/learningappone/
└── primary.fxml             Form and table layout

Running

mvn javafx:run

About

This is a desktop App I built using JavaFx and Java. The sole reason was to learn Java itself and learn how to make desktop apps for a future project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages