Initial commit: GBCM Server Quarkus implementation with JPA entities and services

This commit is contained in:
dahoud
2025-10-06 18:48:01 +00:00
commit e4d125e14c
6 changed files with 1037 additions and 0 deletions

View File

@@ -0,0 +1,103 @@
# GBCM Server Configuration
quarkus.application.name=gbcm-server
quarkus.application.version=1.0.0-SNAPSHOT
# Server Configuration
quarkus.http.port=8081
quarkus.http.host=0.0.0.0
quarkus.http.cors=true
quarkus.http.cors.origins=http://localhost:8080,https://gbcm.com
quarkus.http.cors.methods=GET,PUT,POST,DELETE,OPTIONS
quarkus.http.cors.headers=accept,authorization,content-type,x-requested-with
# Database Configuration
quarkus.datasource.db-kind=postgresql
quarkus.datasource.username=gbcm_server
quarkus.datasource.password=gbcm_server_password
quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/gbcm_server
# Hibernate Configuration
quarkus.hibernate-orm.database.generation=validate
quarkus.hibernate-orm.log.sql=false
quarkus.hibernate-orm.sql-load-script=import.sql
# Flyway Configuration
quarkus.flyway.migrate-at-start=true
quarkus.flyway.locations=db/migration
quarkus.flyway.baseline-on-migrate=true
# Security Configuration
quarkus.security.auth.enabled=true
# JWT Configuration
mp.jwt.verify.publickey.location=META-INF/resources/publicKey.pem
mp.jwt.verify.issuer=https://gbcm.com
smallrye.jwt.sign.key.location=META-INF/resources/privateKey.pem
smallrye.jwt.new-token.issuer=https://gbcm.com
smallrye.jwt.new-token.audience=gbcm-users
smallrye.jwt.new-token.lifespan=3600
# OpenAPI Configuration
quarkus.smallrye-openapi.path=/swagger-ui
quarkus.swagger-ui.always-include=true
quarkus.swagger-ui.path=/swagger
mp.openapi.extensions.smallrye.info.title=GBCM Server API
mp.openapi.extensions.smallrye.info.version=1.0.0
mp.openapi.extensions.smallrye.info.description=API pour les services GBCM
mp.openapi.extensions.smallrye.info.contact.email=support@gbcm.com
mp.openapi.extensions.smallrye.info.contact.name=GBCM Support
mp.openapi.extensions.smallrye.info.license.name=Proprietary
mp.openapi.extensions.smallrye.info.license.url=https://gbcm.com/license
# Health Check Configuration
quarkus.smallrye-health.root-path=/health
# Metrics Configuration
quarkus.micrometer.enabled=true
quarkus.micrometer.export.prometheus.enabled=true
# Email Configuration
quarkus.mailer.from=noreply@gbcm.com
quarkus.mailer.host=smtp.gmail.com
quarkus.mailer.port=587
quarkus.mailer.start-tls=REQUIRED
quarkus.mailer.username=${SMTP_USERNAME:}
quarkus.mailer.password=${SMTP_PASSWORD:}
# Cache Configuration
quarkus.cache.caffeine.default.initial-capacity=100
quarkus.cache.caffeine.default.maximum-size=1000
quarkus.cache.caffeine.default.expire-after-write=PT30M
# Logging Configuration
quarkus.log.level=INFO
quarkus.log.category."com.gbcm".level=DEBUG
quarkus.log.category."org.hibernate.SQL".level=DEBUG
# Development Profile
%dev.quarkus.log.level=DEBUG
%dev.quarkus.hibernate-orm.log.sql=true
%dev.quarkus.datasource.jdbc.url=jdbc:h2:mem:gbcm_server_dev;DB_CLOSE_DELAY=-1
%dev.quarkus.datasource.db-kind=h2
%dev.quarkus.hibernate-orm.database.generation=drop-and-create
%dev.quarkus.flyway.migrate-at-start=false
# Test Profile
%test.quarkus.datasource.jdbc.url=jdbc:h2:mem:gbcm_server_test;DB_CLOSE_DELAY=-1
%test.quarkus.datasource.db-kind=h2
%test.quarkus.hibernate-orm.database.generation=drop-and-create
%test.quarkus.flyway.migrate-at-start=false
# Production Profile
%prod.quarkus.log.level=WARN
%prod.quarkus.hibernate-orm.log.sql=false
%prod.quarkus.datasource.jdbc.url=${DATABASE_URL}
%prod.quarkus.datasource.username=${DB_USERNAME}
%prod.quarkus.datasource.password=${DB_PASSWORD}
# Business Configuration
gbcm.business.workshop.max-participants=20
gbcm.business.coaching.session-duration=60
gbcm.business.billing.currency=USD
gbcm.business.notification.email.enabled=true
gbcm.business.notification.sms.enabled=false