PVPipe - Document Management System
Overview
PVPipe is Tresor's flagship document management and workflow automation system. It provides comprehensive solutions for document processing, approval workflows, and integration with various external services.
Key Features
- ๐ Document Management: Upload, store, and organize documents
- โ๏ธ Digital Signatures: Integration with VNPT SmartCA for digital signing
- ๐ Workflow Automation: Customizable approval and processing workflows
- ๐ง Email Integration: Built-in email client for document-related communications
- ๐ Security: Role-based access control and document encryption
- ๐ Analytics: Document tracking and reporting capabilities
Architecture Overview
PVPipe follows a microservices architecture:
- Frontend: Next.js application with TypeScript
- Backend: NestJS with Prisma ORM
- Microservices:
- Auth Service (Go)
- Files Service (Go)
- Email Service
- PDF Processing Service
- Infrastructure: Kubernetes, Docker, PostgreSQL, Redis
Quick Links
Technology Stack
Frontend
- Next.js 14
- TypeScript
- Tailwind CSS
- Tanstack Query
- Zustand (State Management)
Backend
- NestJS
- Prisma ORM
- PostgreSQL
- Redis
- Bull (Queue Management)
Infrastructure
- Kubernetes
- Docker
- AWS S3 (File Storage)
- GitHub Actions (CI/CD)
Getting Started
- Development Environment: See Development Setup
- API Documentation: Check API Reference
- Deployment: Follow Deployment Guide
Project Structure
pvpipe/
โโโ pvpipe-frontend/ # Next.js frontend application
โโโ pvpipe-backend/ # NestJS backend API
โโโ ms-auth/ # Authentication microservice (Go)
โโโ ms-files/ # File management microservice (Go)
โโโ api-tests/ # API testing suite
โโโ k8s-flux/ # Kubernetes configurations
โโโ pvpipe-mobile/ # React Native mobile app
Integration Points
- VNPT SmartCA: Digital signature integration
- Email Providers: SMTP/IMAP integration
- Cloud Storage: AWS S3 for document storage
- Authentication: JWT-based authentication with OTP support
Support
For questions or issues:
- Check the FAQ
- Contact the PVPipe team
- Create an issue in the project repository