multiforum-backend
Apollo Server backend for Multiforum — a GraphQL/Neo4j stack that fetches forum data from Neo4j, with Nuxt/Vue frontend and event-driven architecture.
Ficha actualizada 22 sept 2026, 18:26 · upstream 22 sept 2026, 16:20 · release sin release detectada
Qué es multiforum-backend
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
This project provides an Apollo Server-based GraphQL API backed by Neo4j graph database. The backend handles authentication via Auth0 JWT tokens, authorization through declarative graphql-shield rules, and serves a Nuxt/Vue frontend that consumes typed GraphQL queries. It uses auto-generated resolvers for CRUD operations from the schema while custom Cypher logic is handled separately. The architecture separates concerns by layering transport, auth, side effects, data resolution, and storage into distinct components with event-driven background services for notifications and version history.
- Retrieve forum posts, comments, and replies filtered by user roles and channel memberships
- Query parent-child relationships between comment threads to determine moderation hierarchy
- Fetch channel-specific data including member lists and role assignments via Neo4j graph traversal
- Get version history of content through change data capture events in the background service
- Send notifications when a user is mentioned or takes an action on a post
- Retrieve moderated comments with associated moderation actions and timestamps
- Uses Apollo Server with centralized error handling via the Apollo plugin for consistent error responses across clients
- Separates authorization into a middleware layer using graphql-shield, keeping resolver logic clean and focused on data resolution
- Implements event-driven architecture where notifications and version snapshots run asynchronously via Neo4j CDC without blocking requests
- Provides auto-generated GraphQL resolvers for CRUD operations directly from the schema definition
- Supports both Neo4j GraphQL library for typed queries and custom Cypher logic through OGM integration
- Neo4j graph database requires a separate license purchase compared to open-source alternatives like PostgreSQL or MongoDB
- Custom Cypher resolver logic is not auto-generated and must be written manually, increasing development complexity for non-GraphQL developers
- The project does not include Dockerfile or compose files (hasDocker: false), requiring manual container orchestration
- No CI/CD pipeline is defined in the repository; deployment requires manual setup of GitHub Actions or similar workflows
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Deploy to a Linux server using Node.js 26.x with pnpm. Install dependencies via `pnpm install`. Set environment variables from `.env.example` (PORT, NEO4J_URI, AUTH0_CLIENT_ID, etc.). Run `pnpm run build` before starting the server. Use Docker Compose for multi-service orchestration: create a compose file with Neo4j, Apollo Server, and Nuxt app services. For production, use the official container image from ghcr.io/gennit-project/multiforum-backend:1.2.3 or later, pulling via `docker pull` and running as non-root user. Enable TCP health check on port 4000 for monitoring.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.