Skip to content

eventmesh-lab/forums-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Forums Service

Descripción

Forums Service es un microservicio de gestión de foros y comunidades para eventos, que permite la interacción entre asistentes y organizadores mediante hilos de discusión y comentarios. El servicio implementa el patrón CQRS utilizando MediatR, sigue los principios de Domain-Driven Design (DDD) con agregados bien definidos, y persiste los datos en MongoDB.

Problema de Negocio que Resuelve

  • Fomenta la comunidad: Permite que los asistentes a eventos se conecten, hagan preguntas y compartan información antes, durante y después del evento.
  • Centraliza la comunicación: Evita que las conversaciones se dispersen en múltiples plataformas externas (redes sociales, emails, etc.).
  • Moderación y control: Los organizadores pueden gestionar el contenido, destacar hilos importantes y cerrar foros cuando el evento finaliza.
  • Integración con el ecosistema: Se integra de forma asíncrona con otros microservicios (eventos, notificaciones, moderación) mediante RabbitMQ.

Tabla de Contenidos


Stack Tecnológico

Categoría Tecnología
Framework .NET 8 (ASP.NET Core)
Arquitectura Clean Architecture + DDD + CQRS
Base de Datos MongoDB (Driver oficial)
Mensajería RabbitMQ (eventos asíncronos)
Mediación MediatR (Command/Query handlers)
Validación FluentValidation
Testing xUnit, Moq
Contenedorización Docker + Docker Compose
API Docs Swagger/OpenAPI

Quick Start

Opción 1: Docker Compose (Recomendado)

Levanta MongoDB + API en contenedores:

docker-compose up -d

Opción 2: Ejecución Local

  1. Asegúrate de tener MongoDB corriendo localmente
  2. Actualiza src/forums-service.Api/appsettings.json con tus credenciales de MongoDB
  3. Ejecuta la API:
dotnet run --project src/forums-service.Api/forums-service.Api.csproj

Comandos Rápidos

# Compilar la solución
dotnet build

# Ejecutar tests
dotnet test

# Levantar solo MongoDB
docker-compose up -d mongodb

# Ver logs de la API
docker-compose logs -f forums-service

Estructura del Proyecto

forums-service/
├── src/
│   ├── forums-service.Api/          # Controllers, Middlewares, Program.cs
│   ├── forums-service.Application/  # Commands, Queries, DTOs, Behaviors
│   ├── forums-service.Domain/       # Entities, Value Objects, Events, Enums
│   └── forums-service.Infrastructure/ # Repositories, MongoDB, RabbitMQ
├── tests/
│   ├── forums-service.Application.Tests/
│   ├── forums-service.Domain.Tests/
│   └── forums-service.Infrastructure.IntegrationTests/
├── docs/                            # Documentación técnica
├── docker-compose.yml
└── Dockerfile

Contacto y Contribuciones

Para más información sobre el modelo de dominio, eventos, reglas de negocio y detalles técnicos, consulta la carpeta docs/.

About

Forums Service es un microservicio de gestión de foros y comunidades para eventos construido con .NET 8. Permite que asistentes y organizadores de eventos interactúen mediante hilos de discusión y comentarios.

Resources

Stars

Watchers

Forks

Contributors