66 Commits

Author SHA1 Message Date
6cdf4a345e docs: Vault path final — applications/afterwork-server/{db,oidc} (rename cosmétique fait 2026-04-24)
Some checks failed
CI/CD Lions Pipeline / Build + Push + Deploy (push) Failing after 6s
2026-04-24 23:54:05 +00:00
2d0b1db015 fix(quarkus-327): add quarkus.hibernate-orm.mapping.format.global=ignore
Some checks failed
CI/CD Lions Pipeline / Build + Push + Deploy (push) Failing after 10s
Quarkus 3.27.x enforce une séparation entre le FormatMapper REST (quarkus.jackson.*) et celui utilisé pour les colonnes JSON en BDD. Sans 'format.global=ignore', Quarkus bloque le démarrage si write-dates-as-timestamps=false (ce qui est notre cas).

Solution recommandée par la migration guide Quarkus : opt-in au futur défaut 'ignore' → BuiltinFormatMapperBehaviour ne bloque plus le démarrage.
2026-04-24 23:38:16 +00:00
951d9f0435 chore(quarkus-327): upgrade Quarkus 3.16.3 → 3.27.3 LTS + Java 17 → 21
Some checks failed
CI/CD Lions Pipeline / Build + Push + Deploy (push) Failing after 10s
Aligne afterwork-server-impl-quarkus sur le reste de l'écosystème LionsDev (tous les autres backends sont sur 3.27.3 LTS / Java 21 depuis 2026-04-24).

- pom.xml : quarkus.platform.version 3.16.3 → 3.27.3
- maven.compiler.release 17 → 21
- Build OK dès la première compilation (pas de breaking changes API)
- README : mise à jour stack + historique
2026-04-24 22:58:53 +00:00
f54f959fdc docs: cleanup REALTIME_DEV.md + application*.properties stale mic-after-work refs
Some checks failed
CI/CD Lions Pipeline / Build + Push + Deploy (push) Failing after 7s
2026-04-24 19:45:43 +00:00
82b927fdd1 docs: cleanup stale mic-after-work refs in kubernetes manifests + docker/README.md
Some checks failed
CI/CD Lions Pipeline / Build + Push + Deploy (push) Failing after 9s
2026-04-24 19:43:12 +00:00
da2e763428 docs: complete README rewrite + cleanup stale mic-after-work refs in .env.example, DEPLOYMENT.md, QUICK_DEPLOY.md, DATABASE_CONFIG.md, AUDIT — delete backend_log.txt
Some checks failed
CI/CD Lions Pipeline / Build + Push + Deploy (push) Failing after 9s
2026-04-24 19:38:29 +00:00
770176092d rename: artifactId mic-after-work-server-impl-quarkus-main → afterwork-server-impl-quarkus
Some checks failed
CI/CD Lions Pipeline / Build + Push + Deploy (push) Failing after 9s
- pom.xml artifactId
- application.properties + application-prod.properties : DB_NAME default afterwork
- src/main/docker/Dockerfile.* : refs images
- Dockerfile racine ajouté (lionsctl pipeline : ubi8/openjdk-21:1.21, UID 1001)
- Cohérence avec renaming Gitea repo lionsdev/afterwork-server-impl-quarkus
2026-04-24 18:51:19 +00:00
dahoud
2dd20ee068 ci: ajouter workflow Gitea Actions
Some checks failed
CI/CD Lions Pipeline / Build + Push + Deploy (push) Failing after 5s
2026-04-22 16:03:01 +00:00
dahoud
13d3097b3e Refactoring 2026-02-07 17:04:49 +00:00
dahoud
fc451f025e fix(security): Correction definitive de la verification JWT HS256
PROBLEME RESOLU:

- Les tokens JWT generes au login n'etaient pas verifies correctement

- SmallRye JWT ne pouvait pas charger la cle de verification

- Incompatibilite entre l'issuer du token et celui attendu

CORRECTIONS:

- Creation de jwt-secret.jwk au format JWK standard pour cles symetriques

- Configuration smallrye.jwt.verify.key.location vers le fichier JWK

- Alignement de l'issuer sur 'afterwork' dans .env.example

Ce commit sert de checkpoint stable pour la configuration JWT.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 02:44:35 +00:00
dahoud
e78423dd16 Refactoring 2026-02-05 18:21:13 +00:00
dahoud
4532a25427 Refactoring 2026-02-05 18:16:18 +00:00
dahoud
806efeb074 Refactoring 2026-02-05 18:09:30 +00:00
dahoud
2a794523b6 Refactoring - Bonne version améliorée 2026-02-05 16:30:20 +00:00
dahoud
dd4dbe111e Refactoring - Bonne version améliorée 2026-02-05 14:14:45 +00:00
dahoud
a515963a4a Refactoring 2026-02-04 12:46:56 +00:00
dahoud
c31c6174cc Refactoring 2026-02-04 01:06:17 +00:00
dahoud
40de25315c Refactoring 2026-02-02 19:22:36 +00:00
dahoud
950041719e Refactoring 2026-02-02 19:14:42 +00:00
dahoud
6e89295e6b Refactoring 2026-02-02 19:07:36 +00:00
dahoud
7021b7a7ce Refactoring 2026-02-02 01:37:11 +00:00
dahoud
bcbae7c599 Refactoring 2026-02-02 00:59:52 +00:00
dahoud
8f5267d895 Refactoring 2026-02-02 00:42:02 +00:00
dahoud
675e0925b8 Refactoring 2026-01-31 21:50:43 +00:00
dahoud
0240442671 fix(build): switch from uber-jar to fast-jar for Docker compatibility
- Change quarkus.package.type from uber-jar to fast-jar
- Add EventShare entity and migration for share tracking
- Add establishment capacity field
- Improve event and establishment services
- Add comprehensive tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 20:27:27 +00:00
dahoud
9dc9ca591c Refactoring 2026-01-31 16:54:46 +00:00
dahoud
ce89face73 feat: v2.0 – réorg docker/scripts, prod, résas, abonnements Wave, Flyway base vierge 2026-01-29 00:44:40 +00:00
dahoud
9d5e388efa Refactoring 2026-01-24 09:33:59 +00:00
dahoud
c5a65bab5b Refactoring 2026-01-21 21:46:21 +00:00
dahoud
cb8b9da12e Refactoring 2026-01-21 21:37:48 +00:00
dahoud
8cb67f1762 Refactoring 2026-01-21 19:16:24 +00:00
dahoud
b9fc1ee05a fix: ajouter application-production.properties et corriger config WebSockets Next 2026-01-21 18:18:20 +00:00
dahoud
93c63fd600 feat: migration complète vers WebSockets Next + Kafka pour temps réel
- Migration de Jakarta WebSocket vers Quarkus WebSockets Next
- Implémentation de l'architecture Kafka pour événements temps réel
- Ajout des DTOs d'événements (NotificationEvent, ChatMessageEvent, ReactionEvent, PresenceEvent)
- Création des bridges Kafka → WebSocket (NotificationKafkaBridge, ChatKafkaBridge, ReactionKafkaBridge)
- Mise à jour des services pour publier dans Kafka au lieu d'appeler directement WebSocket
- Suppression des classes obsolètes (ChatWebSocket, NotificationWebSocket)
- Correction de l'injection des paramètres path dans WebSockets Next (utilisation de connection.pathParam)
- Ajout des migrations DB pour bookings, promotions, business hours, amenities, reviews
- Mise à jour de la configuration application.properties pour Kafka et WebSockets Next
- Mise à jour .gitignore pour ignorer les fichiers de logs
2026-01-21 13:46:16 +00:00
dahoud
7dd0969799 fix(backend): Correction du système de réactions (favoris) pour les événements 2026-01-19 22:44:14 +00:00
dahoud
a5fd9538fe chore: Mise à jour de la configuration Kubernetes 2026-01-13 21:09:45 +00:00
dahoud
7309fcc72d config: Configuration des environnements et migrations DB - Séparation des configurations dev et prod - Configuration H2 pour développement - Configuration PostgreSQL pour production - Migration SQL pour les nouveaux champs d'événements (V2__Add_Event_Additional_Fields.sql) - Configuration CORS et root-path pour production 2026-01-13 20:45:28 +00:00
dahoud
c26098b0d4 fix: Corrections WebSocket et upload de fichiers - FileUploadResource: support des métadonnées (type, fileName, contentType, fileSize, userId) - NotificationWebSocket: correction de l'erreur JTA transaction avec CompletableFuture.runAsync() - PresenceService: ajout de @ActivateRequestContext pour le contexte de requête 2026-01-13 20:45:25 +00:00
dahoud
bfb174bcf8 fix: Correction de la comparaison des utilisateurs dans Conversation - Utilisation de getId().equals() au lieu de equals() - Correction dans updateLastMessage, markAllAsReadForUser, etc. 2026-01-13 20:45:21 +00:00
dahoud
0443bd251f feat: Extension des événements avec 10 nouveaux champs - Ajout de maxParticipants, tags, organizer, participationFee - Ajout de privacyRules, transportInfo, accommodationInfo - Ajout de accessibilityInfo, parkingInfo, securityProtocol - Mise à jour des DTOs et services - Vérification des permissions pour le CRUD (créateur uniquement) - Ajout de creatorId dans EventCreateResponseDTO 2026-01-13 20:45:18 +00:00
dahoud
56d0aad6a6 feat: Système complet de gestion des établissements (backend) - Entités JPA pour Establishment, EstablishmentMedia, EstablishmentRating - DTOs pour création, mise à jour et réponses - Repositories Panache pour accès aux données - Services avec logique métier et validation - Resources REST avec tous les endpoints CRUD - Gestion des médias (photos/vidéos) - Système de notation avec statistiques 2026-01-13 20:45:13 +00:00
dahoud
c0b1863467 fix(ingress): Retrait des snippets désactivés et utilisation annotations standards 2026-01-10 16:22:34 +00:00
dahoud
9cf41a3b7e fix(config): Correction propriétés multipart et ingress aligné sur btpxpress
- Remplacement des propriétés obsolètes multipart par quarkus.http.limits.max-body-size
- Mise à jour de l'ingress avec le bon nom de service et annotations lionsctl
- Utilisation du certificat partagé api-lions-dev-tls
- Ajout du support WebSocket dans l'ingress
2026-01-10 16:08:08 +00:00
dahoud
9499ecb66a fix(config): Nettoyage propriétés build-time dans application-prod
- Suppression des propriétés build-time qui causaient des warnings
- Mise à jour des credentials par défaut: lionsuser/LionsUser2025!
- Mise à jour database name: mic-after-work-server-impl-quarkus-main
- Les propriétés build-time restent dans application.properties
2026-01-10 15:46:28 +00:00
dahoud
f63cc63d9d fix(config): Utilisation de PostgreSQL comme datasource par défaut
- Changement datasource par défaut de H2 vers PostgreSQL
- Mise à jour credentials: lionsuser / LionsUser2025!
- Database: mic-after-work-server-impl-quarkus-main
- Résout l'erreur 'Driver does not support the provided URL'
2026-01-10 15:04:15 +00:00
dahoud
d659416627 fix(docker): Autoriser target/ et *.jar dans le contexte Docker
Le Dockerfile copie le JAR depuis target/, donc ces fichiers
doivent être inclus dans le contexte Docker build.
2026-01-10 13:35:44 +00:00
dahoud
0dafe9ce7f fix(build): Configuration uber-jar par défaut dans pom.xml
Force la génération d'un uber-jar (*-runner.jar) à chaque build Maven.
Compatible avec le Dockerfile qui attend target/*-runner.jar.
2026-01-10 13:32:23 +00:00
dahoud
730581a46b fix(build): Ajout datasource H2 par défaut pour le build
Permet le build Quarkus sans variables d'environnement.
La datasource H2 sera remplacée au runtime par PostgreSQL via env vars.
2026-01-10 13:06:44 +00:00
dahoud
a09cdfb67d fix(build): Ajout valeurs par défaut datasource pour build production
Permet le build avec -Dquarkus.profile=production sans variables d'environnement.
Les vraies valeurs seront fournies par Kubernetes au runtime.

- application.properties: Ajout valeurs par défaut pour DB_HOST, DB_PORT, DB_NAME, DB_USERNAME, DB_PASSWORD
- deploy.ps1: Ajout -Dquarkus.package.type=uber-jar pour générer runner.jar
2026-01-10 13:01:52 +00:00
dahoud
044c18fe09 fix(config): Alignement configuration DB avec unionflow et btpxpress
Corrections pour assurer la cohérence avec les autres projets en production :

## Changements

### DB_HOST: postgres → postgresql
- kubernetes/afterwork-configmap.yaml
- src/main/resources/application-prod.properties (défaut)
- Dockerfile.prod (ENV)

### DB_PASSWORD: Pattern cohérent
- kubernetes/afterwork-secrets.yaml
- Nouveau mot de passe: AfterWork2025!
- Suit le pattern observé dans unionflow (UnionFlow2025!) et btpxpress

## Analyse des Projets Existants

### BTPXpress
- Host: postgresql
- User: btpxpress
- Password: btpxpress_secure_2024

### UnionFlow
- Host: postgresql (implicite)
- User: unionflow
- Password: UnionFlow2025!

### AfterWork (Corrigé)
- Host: postgresql 
- User: afterwork 
- Password: AfterWork2025! 

## Documentation

- DATABASE_CONFIG.md : Guide complet de configuration DB
  - Paramètres de connexion
  - Commandes de vérification
  - Troubleshooting
  - Checklist de déploiement

## Impact

 Configuration cohérente avec les autres projets
 Évite les erreurs de connexion au déploiement
 Pattern de sécurité uniforme
 Documentation complète pour maintenance
2026-01-10 11:25:49 +00:00
dahoud
093d04c224 feat(backend): Ajout complet des fonctionnalités Chat, Social, Story et Notifications
Implémentation complète de toutes les fonctionnalités backend :

## Nouvelles Fonctionnalités

### Chat (Messagerie Instantanée)
- Entities : Conversation, Message
- DTOs : ConversationResponseDTO, MessageResponseDTO, SendMessageRequestDTO
- Resources : MessageResource (endpoints REST)
- Services : MessageService (logique métier)
- Repositories : ConversationRepository, MessageRepository
- WebSocket : ChatWebSocket (temps réel)

### Social (Publications Sociales)
- Entities : SocialPost, SocialComment, SocialLike
- DTOs : SocialPostResponseDTO, CreateSocialPostRequestDTO
- Resources : SocialPostResource
- Services : SocialPostService
- Repositories : SocialPostRepository

### Story (Stories temporaires)
- Entities : Story, StoryView
- DTOs : StoryResponseDTO, CreateStoryRequestDTO
- Resources : StoryResource
- Services : StoryService
- Repositories : StoryRepository

### Notifications (Temps Réel)
- Entities : Notification
- DTOs : NotificationResponseDTO
- Resources : NotificationResource
- Services : NotificationService, PresenceService
- Repositories : NotificationRepository
- WebSocket : NotificationWebSocket (temps réel)

## Améliorations

### Users & Friendship
- Mise à jour UserResponseDTO avec nouveaux champs
- Amélioration FriendshipResource avec séparation demandes envoyées/reçues
- FriendSuggestionResponseDTO pour suggestions d'amis
- Optimisations dans UsersService et FriendshipService

### Events
- Améliorations EventsResource et EventService
- Optimisations EventsRepository

### Configuration
- Mise à jour application.properties
- Configuration docker-compose.yml
- Dockerfile pour développement

## Fichiers Modifiés
- .dockerignore, .gitignore
- README.md
- docker-compose.yml
- Configuration Maven wrapper
2026-01-10 10:39:58 +00:00