DeployStack Backend Development
The DeployStack backend is a modern, high-performance Node.js application built with Fastify, TypeScript, and Drizzle ORM. It's specifically designed for managing MCP (Model Context Protocol) server deployments with enterprise-grade features including authentication, role-based access control, and an extensible plugin system.
Technology Stack
- Framework: Fastify for high-performance HTTP server
- Language: TypeScript for type safety
- Database: SQLite (default) or PostgreSQL with Drizzle ORM
- Validation: Zod for request/response validation and OpenAPI generation
- Plugin System: Extensible architecture with security isolation
- Authentication: Cookie-based sessions with role-based access control
Quick Start
cd services/backend
npm install
npm run dev
The development server starts at http://localhost:3000
with API documentation at /documentation
.
Development Guides
API Documentation
Learn how to generate OpenAPI specifications, use Swagger UI, and implement Zod validation for automatic API documentation.
Database Management
SQLite and PostgreSQL setup, schema management, migrations, and Drizzle ORM best practices.
Plugin System
Create extensible plugins with isolated routes, database extensions, and security features for custom functionality.
Global Settings
Configuration management system with encrypted storage, role-based access, and plugin extensions.
Security & Roles
Authentication, authorization, role-based access control, and security best practices.
Mail System
Email service configuration, SMTP setup, template management, and transactional email sending.
Testing
Testing strategies, examples, and best practices for backend development and API testing.
Roles Management
User roles, permissions system, and access control implementation details.
Project Structure
services/backend/
├── src/
│ ├── routes/ # API route handlers
│ ├── db/ # Database schema and configuration
│ ├── plugin-system/ # Plugin architecture
│ ├── global-settings/ # Core settings definitions
│ ├── auth/ # Authentication utilities
│ └── server.ts # Main server configuration
├── plugins/ # Extensible plugin directory
├── persistent_data/ # Data persistence
└── drizzle/ # Database migrations
Key Features
Plugin Architecture
- Security Isolation: Routes automatically namespaced under
/api/plugin/<id>/
- Database Extensions: Plugins can safely add their own tables
- Global Settings: Contribute configuration options
- Lifecycle Management: Proper initialization and cleanup
API Documentation
- Automatic Generation: OpenAPI 3.0 specs from Zod schemas
- Interactive Testing: Swagger UI for API exploration
- Type Safety: Request/response validation with TypeScript
Database Management
- Multi-Database Support: SQLite (default) and PostgreSQL
- Type-Safe ORM: Drizzle ORM with full TypeScript integration
- Migration System: Automatic schema management
- Plugin Extensions: Plugins can add their own tables
Development Workflow
- Setup: Install dependencies and start development server
- Database: Use API endpoints to initialize database
- Development: Add routes, modify schemas, create plugins
- Testing: Run comprehensive test suite
- Documentation: Generate API specs for integration
For detailed implementation guides, security considerations, and best practices, explore the specific documentation sections above.
Router Optimization & Authentication Caching
Complete guide to the router performance optimizations and smart authentication caching system implemented in DeployStack frontend.
API Documentation Generation
Complete guide to generating OpenAPI specifications, Swagger documentation, and API testing tools for DeployStack Backend development.