diff --git a/Java-Projects.-.md b/Java-Projects.-.md new file mode 100644 index 0000000..e8f1678 --- /dev/null +++ b/Java-Projects.-.md @@ -0,0 +1,54 @@ +# ☕ Java Projects + +![Java Overview Banner](http://192.168.188.119:30008/pplate/pi_mcps/raw/branch/main/docs/wiki/images/java-overview-banner.png) + +The `java/` directory contains legacy Java EE enterprise applications developed with NetBeans and deployed on JBoss/WildFly. Both projects were built from scratch by Patrick as portfolio and learning projects — showcasing deep expertise in JPA, PrimeFaces JSF, and Jakarta EE architecture. + +## Projects + +| Project | Type | Stack | Description | +|---|---|---|---| +| [wellmann-shop](wellmann-shop) | Single-module WAR | JSF, PrimeFaces 6.2, JPA/EclipseLink, Java 8 | B2B printing/stationery e-commerce shop with shopping cart, product management, and role-based access | +| [mss-failsafe](mss-failsafe) | Multi-module Maven EAR | Java EE 8, CDI, JSF 2.3, PrimeFaces 10, Java 11 | Multi-tenant machine/ticket tracking and user management enterprise app | + +## Technology Stack + +- **Build:** Apache Maven 3.x +- **Runtime:** JBoss / WildFly (Jakarta EE) +- **Persistence:** JPA with EclipseLink 2.7.x +- **Web UI:** JSF 2.x + PrimeFaces (6.2 for wellmann-shop, 10.0 for mss-failsafe) +- **Security:** Jakarta Security API (javax.security.enterprise / Soteria) with PBKDF2 password hashing +- **Database:** MySQL (wellmann-shop), configurable via `persistence.xml` +- **Logging:** Log4j 1.x (wellmann-shop), Log4j2 2.x (mss-failsafe) +- **Language:** Java 8 (wellmann-shop), Java 11 (mss-failsafe) +- **IDE:** NetBeans (nb-configuration.xml files present in all modules) + +## Project Structure + +``` +java/ +├── wellmann-shop/ ← Single-module WAR project +│ ├── pom.xml ← groupId: Plate, artifactId: Wellmann-Shop, v0.2 +│ └── src/main/ +│ ├── java/ ← Business + controller + persistence layers +│ └── webapp/ ← XHTML pages, CSS, resources +└── mss-failsafe/ ← Multi-module Maven project + ├── pom.xml ← Parent POM (packaging: pom) + ├── mssfailsafe.datalayer/ ← JPA domain model / entities + ├── userdata/ ← User management + security module (JAR) + ├── mssfailsafeWeblayer/ ← Web layer module (WAR) + └── mss/ ← Main MSS web module (WAR) +``` + +## Common Patterns + +Both projects follow classic Jakarta EE layered architecture: +- **CDI `@Named` + `@SessionScoped`** beans as JSF backing controllers +- **`@PersistenceContext`** for JPA EntityManager injection +- **`jboss-web.xml` / `jboss-app.xml`** for WildFly deployment descriptors +- **`faces-config.xml`** / navigation configuration for JSF +- **PBKDF2 password hashing** via `commons-codec` (wellmann-shop) or Soteria (mss-failsafe) + +## Notes + +These are portfolio/learning projects, not actively maintained. They demonstrate Patrick's Java EE expertise predating Spring Boot — built entirely without AI assistance, using NetBeans + WildFly + Maven. \ No newline at end of file