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
This commit is contained in:
42
Dockerfile
Normal file
42
Dockerfile
Normal file
@@ -0,0 +1,42 @@
|
||||
##
|
||||
## AfterWork Server - Development Dockerfile
|
||||
## Image légère avec JRE Alpine
|
||||
##
|
||||
|
||||
FROM eclipse-temurin:17-jre-alpine
|
||||
|
||||
# Variables d'environnement
|
||||
ENV LANG='en_US.UTF-8' \
|
||||
QUARKUS_PROFILE=dev \
|
||||
JAVA_OPTS="-Xmx512m -Xms256m -XX:+UseG1GC"
|
||||
|
||||
# Installation des dépendances système
|
||||
RUN apk add --no-cache curl tzdata && \
|
||||
cp /usr/share/zoneinfo/Africa/Douala /etc/localtime && \
|
||||
echo "Africa/Douala" > /etc/timezone
|
||||
|
||||
# Création du user non-root
|
||||
RUN addgroup -g 185 -S appuser && \
|
||||
adduser -u 185 -S appuser -G appuser
|
||||
|
||||
# Création des répertoires
|
||||
RUN mkdir -p /app /tmp/uploads && \
|
||||
chown -R appuser:appuser /app /tmp/uploads
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copie du JAR
|
||||
COPY --chown=appuser:appuser target/*-runner.jar /app/app.jar
|
||||
|
||||
# Exposition du port
|
||||
EXPOSE 8080
|
||||
|
||||
# Healthcheck
|
||||
HEALTHCHECK --interval=30s --timeout=5s --start-period=30s --retries=3 \
|
||||
CMD curl -f http://localhost:8080/q/health/ready || exit 1
|
||||
|
||||
# User non-root
|
||||
USER appuser
|
||||
|
||||
# Lancement
|
||||
ENTRYPOINT ["java", "-jar", "/app/app.jar"]
|
||||
Reference in New Issue
Block a user