A comprehensive Content Management System (CMS) built with Angular 20, featuring a modular architecture with extensive functionality for content management, user administration, and business operations.
NTK CMS Web is a modern, feature-rich content management system designed for enterprise-level applications. It provides a complete solution for managing websites, content, users, and business operations with a modular architecture that allows for easy customization and extension.
- Modular Architecture: 30+ specialized modules for different business needs
- Multi-language Support: Built-in internationalization (i18n) with 8 languages
- Progressive Web App (PWA): Offline capabilities and mobile-friendly design
- Real-time Communication: SignalR integration for live updates
- Advanced UI Components: Material Design with custom components
- File Management: Comprehensive file upload and management system
- Security: Role-based access control and authentication
- Responsive Design: Mobile-first approach with Bootstrap 5
Before running this project, ensure you have the following installed:
- Node.js (v18 or higher)
- npm (v9 or higher) or yarn
- Angular CLI (v20 or higher)
# Install Angular CLI globally
npm install -g @angular/cli
# Clone the repository
git clone <repository-url>
cd Ntk.Cms.Web.Angular.v10
# Install dependencies
npm installThe project uses environment-specific configurations. Update src/environments/environment.ts for development:
export const environment: EnvironmentModel = {
production: false,
cmsServerConfig: {
configApiServerPath: 'https://your-api-server.com/api/v3/',
configHubServerPath: 'https://your-api-server.com/hub/',
configFileServerPath: 'https://your-file-server.com/api/v2/',
// ... other configurations
}
};# Development server
npm start
# or
ng serve
# Production build
npm run build-prod
# PWA development
npm run pwa
# Testing
npm test
# Memory-optimized builds
npm run serve1 # 4GB memory
npm run serve2 # 6GB memory
npm run serve3 # 16GB memory
npm run serve4 # 32GB memorysrc/
βββ app/
β βββ cms-modules/ # Main CMS modules
β βββ components/ # Reusable UI components
β βββ core/ # Core services and utilities
β βββ modules/ # Application modules
β βββ shared/ # Shared components and utilities
βββ assets/ # Static assets
βββ environments/ # Environment configurations
The application includes 30+ specialized modules:
- Core Main: Main dashboard and core functionality
- Core Module: Module management
- Core Module Log: Logging and audit trails
- Core Module Data: Data management
- Core Token: Token and authentication management
- Core Log: System logging
- Article: Article and content management
- Blog: Blog system
- News: News management
- Biography: Biography and profile management
- Catalog: Product catalog management
- Estate: Real estate management
- Hyper Shop: E-commerce functionality
- Bank Payment: Payment processing
- Donate: Donation management
- Member: User and member management
- Contact: Contact management
- SMS: SMS integration
- Ticketing: Support ticket system
- Polling: Survey and polling system
- API Telegram: Telegram bot integration
- File Manager: File upload and management
- Link Management: URL and link management
- Universal Menu: Menu system
- Web Designer: Visual page builder
- Web Designer Builder: Advanced page building tools
- Data Provider: Data source management
- Chart: Data visualization
The project includes 50+ reusable components:
- Form Components: File uploaders, selectors, autocomplete
- Display Components: Lists, cards, modals, notices
- Data Components: JSON lists, HTML widgets, maps
- Utility Components: Confirmation dialogs, progress indicators
Key configuration options in environment.ts:
export const environment: EnvironmentModel = {
production: false,
mainTitle: 'Ψ³Ψ§Ω
Ψ§ΩΩ Ω
Ψ―ΫΨ±ΫΨͺΫ Ω
ΨΨͺΩΨ§',
languagesDefault: 'fa',
cmsServerConfig: {
configApiServerPath: 'https://your-api-server.com/api/v3/',
configHubServerPath: 'https://your-api-server.com/hub/',
configFileServerPath: 'https://your-file-server.com/api/v2/',
configQDocServerPath: 'https://qdoc.ir/api/chat',
},
cmsTokenConfig: {
SecurityKey: 'your-security-key',
DeviceType: DeviceTypeEnum.WebSite,
}
};- Persian (ΩΨ§Ψ±Ψ³Ϋ) - Default
- Arabic (ΨΉΨ±Ψ¨Ϋ)
- English
- Chinese (China)
- Spanish
- Japanese
- German
- French
# Build for production
npm run build-prod
# Build with memory optimization
npm run build-prod2 # 16GB memory
npm run build-prod3 # 32GB memory# Build PWA
npm run pwa
# Serve PWA locally
npm run pwa-distThe application includes PWA capabilities:
- Service Worker: Offline functionality
- Web Manifest: App-like experience
- Responsive Design: Mobile-first approach
- Installation: Add to home screen capability
- Authentication: Token-based authentication
- Authorization: Role-based access control
- Guards: Route protection with
CmsAuthGuard - Interceptors: HTTP request/response handling
- Security Headers: CSP and security configurations
# Run unit tests
npm test
# Run tests with coverage
ng test --code-coverage- Angular 20: Core framework
- Angular Material: UI components
- Bootstrap 5: CSS framework
- RxJS: Reactive programming
- SignalR: Real-time communication
- ntk-cms-api: CMS API integration
- ntk-cms-filemanager: File management
- ngx-ntk-smart-module: Smart module system
- ngx-toastr: Notifications
- ngx-translate: Internationalization
- leaflet: Maps integration
- apexcharts: Data visualization
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is proprietary software. All rights reserved.
For support and questions:
- Check the documentation
- Review existing issues
- Contact the development team
- v20.25.0805.1: Current version
- Angular 20 upgrade
- Enhanced PWA features
- Improved performance
- New modules and components
Note: This is a comprehensive CMS system designed for enterprise use. Ensure proper security configurations and testing before deployment to production environments.