DoraCMS is a content management system built on EggJS 3.x, Vue 3, and TypeScript, organized as a pnpm monorepo for managing multiple related modules.
The system addresses the need for a modern, enterprise-grade CMS by combining a Node.js backend with dual database support (MongoDB with Mongoose or MariaDB with Sequelize), a Vue 3 user-facing frontend, and a separate Vue 3 admin dashboard. The backend uses EggJS 3.x with JWT authentication, optional Redis caching, and integrations for file uploads to cloud services like Aliyun OSS and Qiniu. The frontend applications leverage Vite for building, Element Plus for UI components, and Pinia for state management. Built-in internationalization automatically detects language from URL, cookies, or Accept-Language headers and applies it consistently across server responses and page rendering.
The project suits teams building content-heavy applications that need both public-facing and administrative interfaces. It provides a complete stack rather than requiring assembly of separate tools, includes Docker and Docker Compose configurations for deployment, and supports multiple databases so teams can choose based on existing infrastructure. The monorepo structure allows independent development and deployment of the server, user center, and admin center components.
The project maintains active development across multiple workspaces with regular updates to both backend and frontend components. Code quality is enforced through linting and formatting scripts covering all modules. The team provides comprehensive documentation including monorepo structure details and maintains an online demo with sample credentials, indicating ongoing commitment to accessibility for new users evaluating the system.