uim-ecm-server ~main
Enterprise Content Management System using D, UIM-framework and Vibe.d
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
Enterprise Content Management System (ECM)
A modern Enterprise Content Management system built with D language (dlang), UIM-framework, and Vibe.d.
Features
- Document Management: Create, update, delete, and organize documents
- Version Control: Track document versions and changes
- Workflow Management: Define and execute document workflows
- Full-Text Search: Search documents by content, metadata, and tags
- User Authentication & Authorization: Role-based access control (RBAC)
- Metadata Management: Custom metadata and properties
- Audit Trail: Track all user actions and document changes
- REST API: Comprehensive REST API for all operations
Project Structure
ECM/
├── source/
│ ├── app.d # Main application entry point
│ └── ecm/
│ ├── core/ # Core ECM domain models
│ │ ├── document.d # Document and Folder classes
│ │ └── metadata.d # Metadata and Search classes
│ ├── api/ # REST API routes and controllers
│ │ └── routes.d # API endpoint definitions
│ ├── storage/ # Persistence layer
│ │ └── repository.d # In-memory and DB repository
│ ├── auth/ # Authentication and authorization
│ │ └── user.d # User, Role, and Permission classes
│ └── workflow/ # Workflow engine
│ └── process.d # Workflow definitions and tasks
├── config/ # Configuration files
│ └── config.json # Application configuration
├── tests/ # Unit and integration tests
└── dub.json # DUB package configuration
Prerequisites
- D Language: Version 2.100+
- DUB: D's package manager (comes with D)
- Vibe.d: Web framework
- UIM-framework: UI framework
- PostgreSQL: Database (optional, can use in-memory storage)
Installation
1. Clone or initialize the project
2. Install dependencies
dub fetch
3. Build the project
dub build # Debug build
dub build -b release # Release build
4. Run the server
dub run # Development mode
./bin/ecm-server # Run compiled binary
The server will start at http://localhost:8080
API Endpoints
Health Check
GET /api/v1/health- Server health status
Documents
GET /api/v1/documents- List all documentsPOST /api/v1/documents- Create new documentGET /api/v1/documents/:id- Get document by IDPUT /api/v1/documents/:id- Update documentDELETE /api/v1/documents/:id- Delete documentPOST /api/v1/documents/:id/publish- Publish documentPOST /api/v1/documents/:id/archive- Archive document
Folders
GET /api/v1/folders- List all foldersPOST /api/v1/folders- Create new folderGET /api/v1/folders/:id- Get folder by IDPUT /api/v1/folders/:id- Update folder
Search
POST /api/v1/search- Search documents with filters
Configuration
Edit config/config.json to configure:
- Server: Host and port settings
- Database: Connection details
- Storage: File storage settings
- Authentication: JWT and token settings
- Features: Enable/disable features
Development
Running Tests
dub test
Code Organization
- Core Layer: Domain models (Document, Folder, User, etc.)
- API Layer: REST endpoints and request handling
- Storage Layer: Data persistence and repository pattern
- Auth Layer: User authentication and authorization
- Workflow Layer: Document workflow management
Future Enhancements
- [ ] Database integration (PostgreSQL/MongoDB)
- [ ] File storage backend (S3, MinIO)
- [ ] Advanced workflow engine
- [ ] Audit logging system
- [ ] Notification system
- [ ] Document conversion services
- [ ] Full-text search indexing
- [ ] Web UI with UIM-framework
- [ ] Docker containerization
- [ ] Kubernetes deployment
Contributing
- Create a feature branch
- Make your changes
- Write tests
- Submit a pull request
License
MIT License - See LICENSE file for details
References
Support
For issues, questions, or contributions, please refer to the project documentation.
Version: 0.1.0 Last Updated: January 2026
- ~main released 3 months ago
- UIMSolutions/uim-ecm-server
- Apache-2.0
- Copyright © 2018-2026, Ozan Nurettin Süel
- Authors:
- Dependencies:
- uim-framework
- Versions:
-
Show all 2 versions0.1.1 2026-Jan-25 ~main 2026-Jan-26 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
0 downloads this month
-
6 downloads total
-
- Score:
- 0.1
- Short URL:
- uim-ecm-server.dub.pm