Files
gbcm-client-impl-quarkus/pom.xml
dahoud b848e0cede COMPLETE: Freya Theme + OIDC Integration for Web Client
 FREYA THEME 5.0.0 INTEGRATION:
- Install freya-theme-5.0.0-jakarta.jar to Maven local repository
- Copy all Freya layout resources (23 files: CSS, JS, images, icons)
- Copy and adapt Freya templates (6 files: template, menu, topbar, footer, config, rightpanel)
- Activate Freya dependency in pom.xml with Jakarta classifier

 OIDC AUTHENTICATION COMPLETE:
- AuthBean: Complete OIDC integration with SecurityIdentity, OidcSession, IdToken
- NavigationBean: Role-based navigation with access control
- GuestPreferences: Freya theme management (light/dark mode, menu themes)
- Configuration: Port 8081, API URL localhost:8082, Keycloak OIDC client

 FREYA UI PAGES CREATED:
- index.xhtml: Landing page + authenticated dashboard with dual view
- pages/dashboard.xhtml: Main dashboard with statistics, quick actions, activity timeline
- pages/profile.xhtml: User profile with OIDC session details and role management
- pages/clients.xhtml: Client management interface with demo data and statistics

 GBCM BRANDING & CUSTOMIZATION:
- Template title: 'GBCM - Global Business Consulting & Management'
- Menu structure: Dashboard, Clients, Coaches, Sessions, Workshops, Administration
- Topbar: User profile with avatar, full name, email, logout functionality
- Role-based menu visibility and access control

 TECHNICAL FEATURES:
- Hot reload active on port 8081
- OIDC authentication flow working with Keycloak
- Token management and session handling
- Role-based UI rendering (ADMIN, MANAGER, COACH, CLIENT, PROSPECT)
- Freya theme preferences (light/dark mode switching)
- Responsive design with PrimeFlex grid system

🎯 TASK 1 STATUS: COMPLETE
Web client with Freya Theme 5.0.0 and OIDC authentication fully integrated and tested.
2025-10-07 21:24:57 +00:00

155 lines
5.0 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.gbcm</groupId>
<artifactId>gbcm-client-impl-quarkus</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>GBCM Client Implementation - Quarkus</name>
<description>Interface web GBCM avec Quarkus et PrimeFaces</description>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- Versions -->
<quarkus.version>3.6.0</quarkus.version>
<primefaces.version>13.0.0</primefaces.version>
<freya.version>5.0.0</freya.version>
<jakarta.faces.version>4.0.1</jakarta.faces.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-bom</artifactId>
<version>${quarkus.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- Quarkus Core -->
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-undertow</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-rest-client-reactive-jackson</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-security</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-oidc</artifactId>
</dependency>
<!-- Quarkus Web -->
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-reactive</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-qute</artifactId>
</dependency>
<!-- PrimeFaces -->
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>${primefaces.version}</version>
<classifier>jakarta</classifier>
</dependency>
<!-- Freya Theme -->
<dependency>
<groupId>org.primefaces.themes</groupId>
<artifactId>freya</artifactId>
<version>${freya.version}</version>
<classifier>jakarta</classifier>
</dependency>
<!-- CDI -->
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-arc</artifactId>
</dependency>
<!-- Validation -->
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-hibernate-validator</artifactId>
</dependency>
<!-- JSON Processing -->
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-jackson</artifactId>
</dependency>
<!-- GBCM Server API -->
<dependency>
<groupId>com.gbcm</groupId>
<artifactId>gbcm-server-api</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<!-- Test Dependencies -->
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-junit5</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-maven-plugin</artifactId>
<version>${quarkus.version}</version>
<executions>
<execution>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.2</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>prime-repo</id>
<name>PrimeFaces Maven Repository</name>
<url>https://repository.primefaces.org</url>
</repository>
</repositories>
</project>