AI-powered Document Management SystemAI-powered Document Management System
DMS is a professional PHP and MySQL Document Management System designed for organizations that need secure document storage &AI-powered Document Management System
DMS is a professional PHP and MySQL Document Management System designed for organizations that ne...
Overview
Getting Started
Use these credentials to access the portal immediately after installation in the current XAMPP setup.
Login Details
- Portal URL: https://ganakapps.store/dms/
- Username:
[email protected] - Password:
password123
Overview
This application helps businesses, schools, legal offices, HR teams, consultants, and internal operations departments organize documents in a structured portal. Users can upload files, assign metadata, manage categories, control access by user or role, follow workflow status, and search both metadata and indexed document content.
The system includes PDF preview, version history, assignments, audit logs, email logs, multilingual support, theme customization, FAQ management, dashboard analytics, and OpenAI-powered document chat using indexed document data.
Dashboard overview with analytics cards, indexed document summary, category distribution, and latest document activity.
User Roles and Permissions
The portal supports four main user roles. Their access levels are defined below based on the current system permission rules.
Admin
- Full administrative access to the entire portal.
- Manage users and role-based access.
- Manage categories and portal settings.
- Upload, edit, assign, approve, and archive documents.
- View email logs and audit logs.
Manager
- Manage categories.
- Upload and edit documents.
- Assign documents to users.
- Approve and archive documents.
- View email logs and audit logs.
Editor
- Upload new documents.
- Edit document metadata and document versions where permitted.
- View assigned and permitted documents.
- Cannot manage users, categories, system settings, or audit/email logs.
Viewer
- Read-only access to documents allowed by role or direct permission.
- Can view document details, previews, metadata, and FAQ content.
- Cannot upload, edit, assign, approve, archive, or manage portal settings.
Login Page
The login screen is the secure entry point for all users. Authentication checks user status and role before allowing access to the portal.
- Accepts registered email and password.
- Redirects authenticated users to the dashboard.
- Invalid logins stay on the page with an error message.
- Includes a Forgot password? option for password reset by email link.
- Can show a Create Account button when anonymous registration is enabled.
- New users activate their own account from email and receive default viewer access.
Login page with portal branding, email field, password field, and sign-in button.
Dashboard
The dashboard gives an operational summary of the document library and indexing activity. It is the fastest place to review volume, workflow, and recent updates.
- Status cards for total, draft, pending review, approved, and archived documents.
- Analytics block for indexed documents and monthly uploads.
- Category distribution with visual progress bars.
- Latest 25 documents table with direct access to the document detail page.
Dashboard showing analytics cards, indexed document counts, category breakdown, and the latest document list.
Documents
The documents module is the main listing screen for the repository. It supports metadata search, workflow filtering, and direct access to individual document records.
- Searches title, reference number, department, description, and indexed content.
- Filters by workflow status.
- Shows title, reference, department, category, status, and latest version.
- Uses pagination with the latest 25 records per page.
- Document detail page includes secure email sharing with validity date.
- Shared links use encrypted public URLs through
docviewer?id=encrypted_data. - Shared PDF files open in a secure browser viewer and other files use protected download.
Documents list with search, status filter, version display, and open action for each record.
Assignments
The assignments page tracks document handoffs and review work between users. Managers can use it to follow due dates and current assignment status.
- Searches by document title, assignee, assigner, and assignment note.
- Filters by assignment status.
- Displays due date, assignee, assigner, message, and current state.
- Links each row directly to the related document.
Assignments module with search, status filter, and assignment tracking table.
Upload
The upload module creates a new document record and stores the first file version. PDF documents are indexed automatically with metadata and extracted text when available.
- Captures title, category, reference number, department, type, retention date, tags, and description.
- Accepts the document file during creation.
- Moves directly to the document detail page after successful upload.
- Supports category-driven organization and searchable metadata.
Upload form for document metadata and file attachment.
FAQ
The FAQ module provides a searchable knowledge section inside the portal. It is useful for policy notes, support questions, and quick technical references.
- Searches question, answer, and category.
- Filters FAQs by category.
- Supports add, edit, and delete actions for authorized users.
- Uses categories from the main category table for consistent structure.
FAQ page with accordion layout, category filter, and admin entry form.
Features
Document Management
- Upload and manage documents with metadata.
- Category, department, reference number, tags, description, and retention date.
- Version history for each document.
- Workflow status: draft, pending review, approved, rejected, archived.
- Secure document sharing by email with expiry date.
PDF Handling
- Inline PDF preview inside the portal.
- Download access for permitted users.
- Automatic indexing of supported PDF text and metadata.
- Document comments and contextual chat access from the document page.
- Shared PDF viewer with encrypted public links.
Search and Indexing
- Searches metadata and indexed content.
- MySQL-backed search index table.
- Pagination on list pages with default latest 25 records.
- Topic-wise seeded demo content supported.
Roles and Permissions
- Roles: Admin, Manager, Editor, Viewer.
- User-wise and role-wise document permissions.
- Permission checks for viewing, editing, previewing, and downloading.
- Hashed public document and version IDs in URLs.
Assignments and Workflow
- Assign documents to users with due date and message.
- Search and status filter in assignments.
- Workflow actions for review and approval control.
- Email notification logging for assignment and workflow events.
Administration
- Manage categories, users, settings, emails, and audit logs.###li/li###
- SMTP configuration and OpenAI settings.
- FAQ management with category, search, and pagination.
- Forgot password flow with email reset link and password update screen.
- Anonymous self-registration with email activation and default viewer role.
AI and Analytics
- OpenAI chat widget on document pages.
- Chat answers from indexed document text and metadata.
- Dashboard analytics for indexed documents, category distribution, and monthly uploads.
- Interactive UI with Bootstrap-based dashboard panels.
Localization and UX
- Multi-language support.
- RTL rendering for supported languages.
- Clean extensionless URLs.
- Professional portal-style layout for daily operational use.
Settings Menu
The top navigation groups administration screens under the Settings menu. These screens help maintain categories, users, branding, mail activity, and audit visibility.
Categories
Create and maintain document categories used in upload forms, document records, and FAQ classification.
- Add category name and description.
- Delete categories when they are no longer required.
- Paginated category list.
Users
Create users, assign roles, and define account status for portal access.
- Add users with password, role, and status.
- View current user list and role assignment.
- Paginated user management view.
- Anonymous self-registration can create viewer accounts after email activation.
Settings
Control portal branding, theme colour, font size, default language, SMTP, and OpenAI settings.
- Portal name and logo upload.###li/li###
- SMTP sender and server configuration.
- OpenAI API key and model storage.
- Create Account by Anonymous option to enable or disable public signup.
Emails
Review email notification history recorded by the system.
- Recipient, subject, related document, and status.
- Helpful for troubleshooting SMTP setup.
Audit
Track login events and key management actions across the portal.
- Date, user, action, entity, IP address, and details.
- Useful for accountability and compliance review.
Categories
Categories page for maintaining document and FAQ category values.
Users
Users page with add form, role selection, and status management.
Settings
Settings page covering branding, portal preferences, SMTP, and OpenAI configuration.
Emails
Email log view for notification monitoring and troubleshooting.
Audit
Audit log showing system activity, user actions, and event details.
Document Sharing
The document detail page now supports secure external sharing by email.
- Enter one or more email IDs in the share box.
- Select the document validity date.
- Add an optional description for the email.
- PDF files open inside the secure viewer, while ZIP, DOC, and other files use protected download.
Anonymous Account Creation
Ganaka DMS can optionally allow public account creation from the login page.
- Administrator opens Settings > Settings.
- Set Create Account by Anonymous to Yes.
- User submits name, mobile, email, and address.
- An activation link is sent to the submitted email address.
- User clicks the activation link, sets a password, and the account becomes active with default viewer permission.
Requirements
Server Requirements
- PHP 8.1 or higher
- MySQL 8.0 or higher
- Apache web server with
mod_rewriteenabled - XAMPP, WAMP, LAMP, or cPanel hosting
PHP Extensions
pdo_mysqlmysqlimbstringcurlfileinfoopensslxmlzlib
Optional Components
- OpenAI API key for AI chat features
- Java 17 and Maven for the Java indexing worker
- SMTP mail server for live email notifications
Instructions
Getting Started
Use these credentials to access the portal immediately after installation in the current XAMPP setup.
Login Details
- Portal URL: https://ganakapps.store/dms/
- Username:
[email protected] - Password:
password123
1. Installation on XAMPP
Use these beginner-friendly steps to run the portal locally on Windows through XAMPP.
Step 1: Install XAMPP
- Install XAMPP on Windows.
- Open XAMPP Control Panel.
- Start Apache and MySQL.
Step 2: Copy Application Files
- Copy the full project folder to
C:xampphtdocsdms. - Confirm the
public,src,database, andstoragefolders are present.
Step 3: Create the Database
- Open phpMyAdmin from XAMPP.
- Click New.
- Enter database name:
dms. - Choose
utf8mb4if asked for collation/character set. - Click Create.
Step 4: Import the Main Schema
- Select the
dmsdatabase in phpMyAdmin. - Click the Import tab.
- Select
database/schema.sql. - Click Go and wait for the import success message.
Step 5: Confirm Database Import
All required tables are already included in the main schema file for the current package.
Import only database/schema.sql. No separate migration import is required.
Step 6: Configure the Application
- Open the project
.envfile. - Confirm these values match your local XAMPP setup:
APP_URL=http://localhost/dms/public DB_HOST=127.0.0.1 DB_PORT=3306 DB_NAME=dms DB_USER=root DB_PASS=
- Save the file after editing.
Step 7: Check Folder Permissions
- Make sure
storage/documentsexists. - Ensure PHP can write uploaded files into that folder.
Step 8: Open the Portal
- Open
http://localhost/dms/in your browser. - Login using the default administrator account.
- Username:
[email protected] - Password:
password123
Step 9: Configure Portal Settings After Login
- Go to Settings > Settings.
- Update portal name, logo, font size, and default language.
- Configure SMTP if you want real email delivery.
- Add your OpenAI API key if you want AI chat features.
Recommended PHP extensions: pdo_mysql, mbstring, curl, fileinfo, openssl, xml, and zlib.
2. Installation on cPanel / Others
Use this method when publishing the portal on shared hosting or a cPanel-based server.
Step 1: Create Database and User
- Open cPanel.
- Go to MySQL Databases.
- Create a database.
- Create a database user.
- Assign the user to the database with All Privileges.
Step 2: Upload Files
- Upload the project files using File Manager or FTP.
- Place the project in the directory where you want the application to run.
Step 3: Import Database Files
- Open phpMyAdmin from cPanel.
- Select your newly created database.
- Import
database/schema.sql.
Step 4: Edit the Environment File
- Open
.envin File Manager or your editor. - Set your live values for database and application URL.
APP_URL=https://yourdomain.com/dms/pub.. DB_HOST=localhost DB_PORT=3306 DB_NAME=your_cpanel_database_name DB_USER=your_cpanel_database_user DB_PASS=your_database_password
Step 5: Set the Public Path
- If your host allows it, point the domain or subfolder document root to the
publicdirectory. - If not, keep the system in a subfolder and access it through the
publicfolder path.
Step 6: Final Configuration
- Login with the administrator account.
- Configure portal branding, SMTP, language, and OpenAI key from the Settings page.
- Test document upload and AI chat before going live.
Before going live, enable real SMTP settings and change the default administrator password.
OpenAI API Key Setup
Use this section when you want AI chat to work in the portal.
How to Create an OpenAI API Key
- Sign in to the OpenAI Developer Platform.
- Open the API keys page in your project/dashboard.
- Create a new secret key.
- Save the key immediately in a secure place. The full secret key is shown only when it is created.
- Optionally choose permissions such as All, Restricted, or Read Only when available.
How to Add the Key in Ganaka DMS
- Login to the portal as administrator.
- Go to Settings > Settings.
- Find the OpenAI section.
- Paste the API key into OpenAI API Key.
- Leave the model as default or enter the model you want to use.
- Click Save Settings.
Important Security Notes
- Never publish or share your secret API key.
- Do not place the key in client-side JavaScript or public HTML.
- If a key is lost or exposed, create a new one and update the portal settings.
OpenAI key creation and permissions are managed from the OpenAI Developer Platform, while the Ganaka DMS Settings page is where you store the key for this application.
| Category | Scripts & Code / PHP Scripts / Miscellaneous |
| First release | 17 May 2026 |
| Last update | 17 May 2026 |
| Files included | .php, .css, .html, Javascript .js |
| Tags | ai document management system, ai powered dms, smart document management, ai document portal, document workflow automation, digital file management system, enterprise document management, ocr document management, ai document search, secure document repository, cloud document management, electronic document management system, ai file management software, document approval workflow, ai document collaboration, pdf document management, intelligent dms solution, business document management, online document management system, ai based records management |








