Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/juescoryisus/QualityDocD/llms.txt

Use this file to discover all available pages before exploring further.

QualityDocD is a production-ready document management platform built for teams that need structured approval workflows, traceable audit histories, and powerful full-text search. It combines a .NET MVC web application, a Node.js REST API, a PHP reporting portal, and a MongoDB-backed search microservice — all deployable with a single Docker Compose command.

Quickstart

Get the full stack running locally in minutes with Docker Compose.

Architecture

Understand how the four services and three databases fit together.

Document Lifecycle

Learn the seven document states and how transitions work.

API Reference

Explore the Node.js REST API — auth, documents, search, and more.

What is QualityDocD?

QualityDocD manages the full lifecycle of quality documents — from initial draft through multi-reviewer approval to eventual obsolescence. Every state change is logged to both SQL Server and PostgreSQL, and approved document content is indexed in MongoDB for fast full-text search.

Approval Workflows

Multi-stage review with Draft → UnderReview → Approved/Rejected/Obsolete transitions and a PendingChanges loop for revisions.

Role-Based Access

Five roles (Admin, Manager, Reviewer, Editor, Viewer) with module-level access control in the Node.js API.

Polyglot Persistence

SQL Server for documents, PostgreSQL for audit logs, MongoDB for full-text metadata — each database used for what it does best.

Full-Text Search

Dual-engine search: MongoDB Atlas-style text search with automatic fallback to a PostgreSQL token index.

Multi-Tenancy

Company-scoped data isolation in the Node.js API — each company’s documents, users, and search index are fully separated.

Docker Compose

Three compose files (infra, apps, portal) and a PowerShell setup script make local and production deployment straightforward.

Getting Started

1

Clone the repository

Clone QualityDocD and copy the environment file.
git clone https://github.com/juescoryisus/QualityDocD.git
cd QualityDocD
cp .env.example .env
2

Start all services

Use the PowerShell setup script (Windows) or run Docker Compose directly.
.\setup.ps1 -Mode All
This starts SQL Server, PostgreSQL, MongoDB, the .NET app, the Node.js API, the search microservice, and the PHP portal.
3

Log in

Open http://localhost:5001 and log in with the seeded admin account: admin / Admin123!
4

Call the API

Authenticate against the Node.js API to get a JWT, then start managing documents programmatically.
curl -X POST http://localhost:5000/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"admin@qualitydoc.local","password":"Admin123!","companySlug":"default"}'

Service Overview

ServicePortTechnologyPurpose
.NET App5001ASP.NET Core MVCDocument CRUD, approval UI, cookie auth
Node.js API5000Express + TypeScriptREST API, JWT auth, multi-tenancy
Search Service3001Node.js + MongoDBFull-text indexing and search
PHP Portal8080PHP 8 + PostgreSQLReporting dashboard, audit viewer
SQL Server1433SQL Server 2022Documents, users, approvals
PostgreSQL5432PostgreSQL 16Audit log, Node.js API data
MongoDB27017MongoDB 7Document metadata, full-text index
The .NET app exposes a YARP reverse proxy that forwards /node-api/ requests to the Node.js API and /search/ requests to the Search Service — so all traffic can flow through a single port in production.

Build docs developers (and LLMs) love