Document Management

intro

Hello everyone!

Thank you for purchasing solution. If you have any questions that are beyond the scope of this help file, please feel free to email via my user page contact form here. Thanks so much!

Quick Start Guide

.Net Installation


Prerequisites

Installation .NET REST API in Local System steps

  • Open solution file DocumentManagement.sln from .Net folder into visual studio 2022.
  • Right click on solution explorer and Restore nuget packages.
  • Change database connection string in appsettings.Development.json in DocumentManagement.API project.
  • Open package manager console from visual studio menu --> Tools --> nuget Package Manager --> Package Manager Console
  • In package manager console, Select default project as DocumentManagement.Domain
  • Run Update-Database command in package manager console which create database and insert intial data.
  • From Solution Explorer, Right click on DocumentManagement.API project and click on Set as Startup Project from menu.
  • To run project Press F5.

Tesseract OCR Installation for Window OS Server

  1. Download the Tesseract Installer:
    Visit the official UB Mannheim GitHub page and download

    👉 tesseract-ocr-w64-setup-v5.2.0.20220708.exe
  2. Install Tesseract:
    Run the installer and follow the prompts. During setup:
    • Select your language packs (at minimum, keep eng checked for English).
    • Ensure the option to add Tesseract to the system PATH is selected.
  3. Verify PATH Configuration (if not set automatically):
    • Go to System Properties → Advanced → Environment Variables.
    • Under "System variables", select Path → click Edit.
    • Add this path (if not already there):
      C:\Program Files\Tesseract-OCR
    • Click OK to save and close all dialogs.
  4. Verify Installation:
    Open Command Prompt and run:
    tesseract -v
    You should see the installed version and copyright.
  5. Test Tesseract OCR:
    To check if OCR works correctly, run this in the Command Prompt:
    tesseract path\to\image.png output-text-file -l eng
    • Replace path\to\image.png with the actual image path.
    • The output will be saved as output-text-file.txt.

Angular Local System Installation


Prerequisites

Although Document Management can be run without any development experience, it would be much easier if you already have some experience. The following instructions allow you to run a local copy on your machine.

Install tools

If you have not yet installed nodejs, please Download and globally install nodejs : https://nodejs.org
Note: download Recommended For Most Users version

A detailed instruction on how to install NodeJS is available here.

Note: Make sure you have Node Latest version. Also globally installed typescript.

Installing Angular-CLI globally is as simple as running this simple command: npm install -g @angular/cli

After the tools is installed, go inside of the Angular directory and run below command to install dependencies:

Run npm install -f to install node dependencies defined in package.json.

Running local copy

To run a local copy in development mode, replace REST API URI (apiUrl) variable in environment file inside src --> environments -->environment.ts

execute ng serve and go to http://localhost:4200 in your browser.

To run the local copy in production mode and build the sources, execute ng build --prod. This will builds a production version of the application. All html,css and js code is minified and put to dist folder. The contents of this folder you can to put to your production server when publishing the application.

Hosting

Prerequisites

In Order to host the application on Windows or Linux Server even you don't need to create database manully. you just need to change the connection string and based on you connection setting database will be created automatically once application initialize.

Change Connection String

Change the connection in appsettings.Development.json file as describe as below image:

Host on IIS Server:

✅ Step 1: Install .NET 8 SDK & Runtime

  1. Download .NET SDK 8.0.205:
    👉 Visit .NET Downloads
    Choose .NET SDK 8.0.205 under the SDK section.
  2. Install .NET Runtime 8.0.5:
    On the same page, scroll down to .NET Runtime 8.0.5 and install it.
  3. Install ASP.NET Core Runtime 8.0.5:
    Scroll to ASP.NET Core Runtime 8.0.5 and install it.
  4. Install Hosting Bundle (Windows only):
    From the same section, install the Hosting Bundle under ASP.NET Core Runtime.

📦 Step 2: Set Up Database

Based on your preferred database (MySQL or SQL Server), install the server and create a user with full privileges.
Then configure this in the appsettings.json file.

🌐 Step 3: Host Application in IIS

  1. Unzip the folder downloaded from CodeCanyon.
  2. Copy contents from either:
    • Build/MySQLProviderBuild
    • OR
    • Build/SqlServerProviderBuild
    Paste it into: C:\inetpub\wwwroot\{{yoursitename}}
    Note: Replace yoursitename with your chosen name (e.g., mlglobtech).
  3. Open IIS Manager.
  4. Add a new website.
  5. Set a site name and point the physical path to:
    C:\inetpub\wwwroot\{{yoursitename}}
  6. Set folder permissions:
    - Right-click wwwroot folder > Properties > Security tab
    - Click Edit > Add
    - Enter IIS_IUSRS > Click Check Name > OK
    - Grant Read & Execute, List Folder Contents, Read permissions
  7. Repeat the same permissions for:
    C:\inetpub\wwwroot\yoursitename\Documents
  8. Update connection strings in:
    appsettings.json and appsettings.Development.json

    🔷 SQL Server:
    "NLog": "data source=SERVER_NAME;Initial Catalog=DB_NAME;user id=USERNAME;password=PASSWORD;TrustServerCertificate=True;Connection Timeout=90;"
    "DocumentDbConnectionString": "data source=SERVER_NAME;Initial Catalog=DB_NAME;user id=USERNAME;password=PASSWORD;TrustServerCertificate=True;Connection Timeout=90;"

    🔷 MySQL:
    "NLog": "server=SERVER_NAME;port=3306;user id=USERNAME;password=PASSWORD;database=DB_NAME;Connection Timeout=90;"
    "DocumentDbConnectionString": "server=SERVER_NAME;port=3306;user id=USERNAME;password=PASSWORD;database=DB_NAME;Connection Timeout=90;"
  9. Finally, restart the IIS server to apply changes.

Tesseract OCR Installation for Window OS Server

  1. Download the Tesseract Installer:
    Visit the official UB Mannheim GitHub page and download

    👉 tesseract-ocr-w64-setup-v5.2.0.20220708.exe
  2. Install Tesseract:
    Run the installer and follow the prompts. During setup:
    • Select your language packs (at minimum, keep eng checked for English).
    • Ensure the option to add Tesseract to the system PATH is selected.
  3. Verify PATH Configuration (if not set automatically):
    • Go to System Properties → Advanced → Environment Variables.
    • Under "System variables", select Path → click Edit.
    • Add this path (if not already there):
      C:\Program Files\Tesseract-OCR
    • Click OK to save and close all dialogs.
  4. Verify Installation:
    Open Command Prompt and run:
    tesseract -v
    You should see the installed version and copyright.
  5. Application Setup:
    Make sure your application has a tessdata folder placed inside the wwwroot directory.
    Example path: C:\\inetpub\\wwwroot\\{{yoursitename}}\\wwwroot\\tessdata
  6. Set Folder Permissions:
    Grant full read/write permissions to the application pool identity or service user (IIS_IUSRS) running your web app:
    • Ensure read access to tesseract.exe.
    • Ensure read/write access to the C:\\inetpub\\wwwroot\\{{yoursitename}}\\tessdata folder to user IIS_IUSRS.
    • If hosted on a shared/VPS platform, confirm additional restrictions with your provider.
  7. Test Tesseract OCR:
    To check if OCR works correctly, run this in the Command Prompt:
    tesseract path\to\image.png output-text-file -l eng
    • Replace path\to\image.png with the actual image path.
    • The output will be saved as output-text-file.txt.
  8. Restart the IIS server

Install Application On Linux

🔖 Variable Notes

  • {{yoursitename}} → e.g., mlglobtech
  • {{yourchoiseUser}} → e.g., mlglobtechUser
  • {{yourchoisePassword}} → e.g., mlglobtechPassword
  • {{yourchoiseDatabase}} → e.g., mlglobtechDatabase
  • {{servername}} → e.g., localhost or 127.0.0.1
  • {{databaseName}} → your actual database name

🐬 Install MySQL (Linux)

  1. Update your system:
    sudo apt update
    sudo apt upgrade
  2. Install MySQL:
    sudo apt install mysql-server
  3. Secure MySQL installation:
    sudo mysql_secure_installation
  4. Verify MySQL service status:
    sudo systemctl status mysql
  5. Log into MySQL as root:
    mysql -u root -p
  6. Create a new user and grant privileges:
    CREATE USER '{{yourchoiseUser}}'@'localhost' IDENTIFIED BY '{{yourchoisePassword}}';
    GRANT ALL PRIVILEGES ON *.* TO '{{yourchoiseUser}}'@'localhost' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    EXIT;
  7. Log in with the new user:
    mysql -u {{yourchoiseUser}} -p
  8. Create and use a database:
    CREATE DATABASE {{yourchoiseDatabase}};
    USE {{yourchoiseDatabase}};
    EXIT;

🧰 Install .NET 8 on Linux

  1. Update system:
    sudo apt-get update
  2. Install .NET SDK:
    sudo apt install dotnet-sdk-8.0
  3. Verify installation:
    dotnet --version

🌐 Install Nginx for Linux OS

  1. Update your system:
    sudo apt update
    sudo apt upgrade
  2. Install Nginx:
    sudo apt install nginx
  3. Start and enable Nginx:
    sudo systemctl enable nginx
    sudo systemctl start nginx
  4. Verify installation:

    Open your browser and go to http://localhost or http://your-server-ip to see the Nginx welcome page.

  5. Optional: Open firewall ports:
    sudo ufw allow 'Nginx Full'

Host Application with NGINX Reverse Proxy

  1. Create application directory:
    mkdir -p /var/www/{{yoursitename}}
  2. Copy application files:

    Unzip your Codecanyon download, open the folder, and copy contents from Build/MySQLProviderBuild into /var/www/{{yoursitename}}.

  3. Set folder permissions:
    sudo chmod -R 777 /var/www/{{yoursitename}}/wwwroot
    sudo chmod -R 777 /var/www/{{yoursitename}}/Documents
  4. Edit configuration files:

    Edit appsettings.json & appsettings.Development.json:

    sudo nano /var/www/{{yoursitename}}/appsettings.json

    Example:

    "NLog": "server={{servername}};port={{port}};user id={{username}};password={{password}};database={{dbname}};TrustServerCertificate=True;Connection Timeout=90;"
    "DocumentDbConnectionString": "server={{servername}};port={{port}};user id={{username}};password={{password}};database={{dbname}};TrustServerCertificate=True;Connection Timeout=90;"
  5. Test your .NET API:
    dotnet /var/www/{{yoursitename}}/DocumentManagement.API.dll

    If successful, you’ll see: Application is running on:5008

  6. Create a systemd service:
    sudo nano /etc/systemd/system/{{yoursitename}}.service

    Paste the following code:

    [Unit]
    Description={{yoursitename}} .NET Core App
    After=network.target
    
    [Service]
    WorkingDirectory=/var/www/{{yoursitename}}
    ExecStart=/usr/bin/dotnet /var/www/{{yoursitename}}/DocumentManagement.API.dll
    Restart=always
    RestartSec=10
    KillSignal=SIGINT
    SyslogIdentifier=dotnet-yourapp
    User=www-data
    Environment=ASPNETCORE_ENVIRONMENT=Production
    
    [Install]
    WantedBy=multi-user.target
  7. Start and enable the service:
    sudo systemctl daemon-reload
    sudo systemctl enable {{yoursitename}}.service
    sudo systemctl start {{yoursitename}}.service
  8. Check service status:
    sudo systemctl status {{yoursitename}}.service
  9. View service logs (if needed):
    sudo journalctl -fu {{yoursitename}}.service
  10. Configure NGINX reverse proxy:
    sudo nano /etc/nginx/sites-available/{{yoursitename}}.conf

    Paste:

    server {
        listen 80;
        server_name {{yoursitedomainname}} www.{{yoursitedomainname}};
    
        location / {
            proxy_pass http://localhost:5008;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection keep-alive;
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    
        error_log /var/log/nginx/{{yoursitedomainname}}.log;
        access_log /var/log/nginx/{{yoursitedomainname}}.log;
    }
  11. Enable site:
    sudo ln -s /etc/nginx/sites-available/{{yoursitename}}.conf /etc/nginx/sites-enabled/
  12. Test & restart NGINX:
    sudo nginx -t
    sudo systemctl restart nginx
  13. Check NGINX status:
    sudo systemctl status nginx

Tesseract OCR Installation for Linux

  1. Update your system:
    sudo apt update
    sudo apt upgrade
  2. Install Tesseract OCR:
    sudo apt install tesseract-ocr
  3. Install languages (optional):
    sudo apt install tesseract-ocr-eng
    sudo apt install tesseract-ocr-[lang]
  4. Verify installation:
    tesseract -v
  5. Create tessdata directory (if needed):
    mkdir -p /var/www/{{yoursitename}}/wwwroot/tessdata
  6. Set permissions:
    sudo chmod -R 755 /var/www/{{yoursitename}}/wwwroot/tessdata
  7. Manual OCR Test (optional):
    tesseract /path/to/image.png output-text -l eng
  8. Install dependencies:
    sudo apt-get install -y libtesseract-dev libleptonica-dev
  9. Verify Installed Libraries:

    Check if the required libraries are installed:

    find /usr -name "libtesseract.so*"
    find /usr -name "libleptonica.so*"
    find /usr -name "libdl.so*"
  10. Install Locate (Optional):
    sudo apt update
    sudo apt install -y plocate
    sudo updatedb

    Then you can search for files easily:

    locate libleptonica-1.82.0.so
    locate libtesseract.so
    locate libdl.so
  11. Copy to x64 directory in project:
    cp /usr/lib/x86_64-linux-gnu/libtesseract.so* /var/www/{{yoursitename}}/x64/
    cp /usr/lib/x86_64-linux-gnu/libleptonica.so* /var/www/{{yoursitename}}/x64/
    sudo cp /usr/lib/x86_64-linux-gnu/libleptonica-1.82.0.so /var/www/{{yoursitename}}/x64/
    sudo cp /usr/lib/x86_64-linux-gnu/libtesseract.so* /var/www/{{yoursitename}}/x64/

    or use /usr/local/lib/ path if applicable.

  12. Create Symlinks if Needed:
    sudo ln -s /var/www/{{yoursitename}}/x64/libtesseract.so /var/www/{{yoursitename}}/x64/libtesseract50.so
    sudo ln -s /usr/lib/x86_64-linux-gnu/libdl.so.2 /usr/lib/x86_64-linux-gnu/libdl.so
  13. Set LD_LIBRARY_PATH globally:
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/var/www/{{yoursitename}}/x64/
    source ~/.bashrc
    export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/var/www/{{yoursitename}}/x64:$LD_LIBRARY_PATH

    Or edit manually:

    sudo nano /etc/environment
    LD_LIBRARY_PATH="/var/www/{{yoursitename}}/x64/:$LD_LIBRARY_PATH"
    echo "export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/var/www/{{yoursitename}}/x64:\$LD_LIBRARY_PATH" >> ~/.bashrc
    source ~/.bashrc
  14. Reload System Libraries:
    sudo ldconfig
  15. Restart Services:
    sudo systemctl daemon-reload
    sudo systemctl restart {{yoursitename}}.service
    sudo systemctl restart nginx
    sudo systemctl status {{yoursitename}}.service
  16. Verify Libraries Loaded:
    ls -l /var/www/{{yoursitename}}/x64/
    ldd /path/to/your/ocr-app
  17. Compatible Versions:
    • Tesseract 5.2.0
    • libtesseract 5.2.x
    • libleptonica 1.82.0+

Install Application On Linux

🔖 Variable Notes

  • {{yoursitename}} → e.g., mlglobtech
  • {{yourchoiseUser}} → e.g., mlglobtechUser
  • {{yourchoisePassword}} → e.g., mlglobtechPassword
  • {{yourchoiseDatabase}} → e.g., mlglobtechDatabase
  • {{servername}} → e.g., localhost or 127.0.0.1
  • {{databaseName}} → your actual database name

🐬 Install MySQL (Linux)

  1. Update your system:
    sudo apt update
    sudo apt upgrade
  2. Install MySQL:
    sudo apt install mysql-server
  3. Secure MySQL:
    sudo mysql_secure_installation
  4. Verify MySQL is running:
    sudo systemctl status mysql
  5. Log into MySQL:
    mysql -u root -p
  6. Run the following SQL:
    CREATE USER '{{yourchoiseUser}}'@'localhost' IDENTIFIED BY '{{yourchoisePassword}}';
    GRANT ALL PRIVILEGES ON *.* TO '{{yourchoiseUser}}'@'localhost' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    EXIT;
  7. Log in with new user:
    mysql -u {{yourchoiseUser}} -p
  8. Create and use database:
    CREATE DATABASE {{yourchoiseDatabase}};
    USE {{yourchoiseDatabase}};
    EXIT;

🧰 Install .NET 8 on Linux

  1. Update system:
    sudo apt-get update
  2. Install .NET SDK:
    sudo apt install dotnet-sdk-8.0
  3. Verify installation:
    dotnet --version

Install Apache2 For Linux OS

  1. Update your system:
    sudo apt update
    sudo apt upgrade
  2. Install Apache2:
    sudo apt install apache2
  3. Install and Configure mod_proxy modules:
    sudo a2enmod proxy
    sudo a2enmod proxy_http
    sudo a2enmod proxy_wstunnel
  4. Restart Apache to apply changes:
    sudo systemctl restart apache2

Host Application with Apache2 Reverse Proxy

  1. create directory on path /var/www/{{yoursitename}}
  2. Unzip your Codecanyon download, open the folder, and copy contents from Build/MySQLProviderBuild into /var/www/{{yoursitename}}.
  3. Set folder permissions:
    sudo chmod -R 777 /var/www/{{yoursitename}}/wwwroot
    sudo chmod -R 777 /var/www/{{yoursitename}}/Documents
  4. Edit appsettings.json & appsettings.Development.json:
    sudo nano /var/www/{{yoursitename}}/appsettings.json
    Example:
    "NLog": "server={{servername}};port={{port}};user id={{username}};password={{password}};database={{dbname}};TrustServerCertificate=True;Connection Timeout=90;"
    "DocumentDbConnectionString": "server={{servername}};port={{port}};user id={{username}};password={{password}};database={{dbname}};TrustServerCertificate=True;Connection Timeout=90;"
  5. Test your .NET API:
    dotnet /var/www/{{yoursitename}}/DocumentManagement.API.dll
    If successful, you’ll see: Application is running on:5008
  6. Create a systemd service:
    sudo nano /etc/systemd/system/{{yoursitename}}.service
    Paste below code:
    [Unit]
    Description={{yoursitename}} .NET Core App
    After=network.target
    
    [Service]
    WorkingDirectory=/var/www/{{yoursitename}}
    ExecStart=/usr/bin/dotnet /var/www/{{yoursitename}}/DocumentManagement.API.dll
    Restart=always
    RestartSec=10
    KillSignal=SIGINT
    SyslogIdentifier=dotnet-yourapp
    User=www-data
    Environment=ASPNETCORE_ENVIRONMENT=Production
    
    [Install]
    WantedBy=multi-user.target
  7. Start and Enable the service:
    sudo systemctl daemon-reload
    sudo systemctl enable {{yoursitename}}.service
    sudo systemctl start {{yoursitename}}.service
  8. Check service status:
    sudo systemctl status {{yoursitename}}.service
  9. View service logs (if needed):
    sudo journalctl -fu {{yoursitename}}.service
  10. Configure Apache2 reverse proxy:
    sudo nano /etc/apache2/sites-available/{{yoursitename}}.conf
    Paste:
    <VirtualHost *:80>
        ServerName {{yoursitedomainname}} www.{{yoursitedomainname}}
    
        ProxyPreserveHost On
        ProxyPass / http://localhost:5008/
        ProxyPassReverse / http://localhost:5008/
    
        ErrorLog ${APACHE_LOG_DIR}/yourapp-error.log
        CustomLog ${APACHE_LOG_DIR}/yourapp-access.log combined
    </VirtualHost>
  11. Enable the new virtual host and disable the default one:
    sudo a2ensite {{yoursitename}}.conf
    sudo a2dissite 000-default.conf
    sudo systemctl reload apache2
  12. Check Apache2 status:
    sudo systemctl status apache2

Tesseract OCR Installation for Linux

  1. Update your system:
    sudo apt update
    sudo apt upgrade
  2. Install Tesseract OCR:
    sudo apt install tesseract-ocr
  3. Install languages (optional):
    sudo apt install tesseract-ocr-eng
    sudo apt install tesseract-ocr-[lang]
  4. Verify installation:
    tesseract -v
  5. Create tessdata directory (if needed):
    mkdir -p /var/www/{{yoursitename}}/wwwroot/tessdata
  6. Set permissions:
    sudo chmod -R 755 /var/www/{{yoursitename}}/wwwroot/tessdata
  7. Manual OCR Test (optional):
    tesseract /path/to/image.png output-text -l eng
  8. Install dependencies:
    sudo apt-get install -y libtesseract-dev libleptonica-dev
  9. Verify Installed Libraries:

    Check if the required libraries are installed:

    find /usr -name "libtesseract.so*"
    find /usr -name "libleptonica.so*"
    find /usr -name "libdl.so*"
  10. Install Locate (Optional):
    sudo apt update
    sudo apt install -y plocate
    sudo updatedb

    Then you can search for files easily:

    locate libleptonica-1.82.0.so
    locate libtesseract.so
    locate libdl.so
  11. Copy to x64 directory in project:
    cp /usr/lib/x86_64-linux-gnu/libtesseract.so* /var/www/{{yoursitename}}/x64/
    cp /usr/lib/x86_64-linux-gnu/libleptonica.so* /var/www/{{yoursitename}}/x64/
    sudo cp /usr/lib/x86_64-linux-gnu/libleptonica-1.82.0.so /var/www/{{yoursitename}}/x64/
    sudo cp /usr/lib/x86_64-linux-gnu/libtesseract.so* /var/www/{{yoursitename}}/x64/

    or use /usr/local/lib/ path if applicable.

  12. Create Symlinks if Needed:
    sudo ln -s /var/www/{{yoursitename}}/x64/libtesseract.so /var/www/{{yoursitename}}/x64/libtesseract50.so
    sudo ln -s /usr/lib/x86_64-linux-gnu/libdl.so.2 /usr/lib/x86_64-linux-gnu/libdl.so
  13. Set LD_LIBRARY_PATH globally:
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/var/www/{{yoursitename}}/x64/
    source ~/.bashrc
    export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/var/www/{{yoursitename}}/x64:$LD_LIBRARY_PATH

    Or edit manually:

    sudo nano /etc/environment
    LD_LIBRARY_PATH="/var/www/{{yoursitename}}/x64/:$LD_LIBRARY_PATH"
    echo "export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/var/www/{{yoursitename}}/x64:\$LD_LIBRARY_PATH" >> ~/.bashrc
    source ~/.bashrc
  14. Reload System Libraries:
    sudo ldconfig
  15. Restart Services:
    sudo systemctl daemon-reload
    sudo systemctl restart {{yoursitename}}.service
    sudo systemctl restart apache2
    sudo systemctl status {{yoursitename}}.service
  16. Verify Libraries Loaded:
    ls -l /var/www/{{yoursitename}}/x64/
    ldd /path/to/your/ocr-app
  17. Compatible Versions:
    • Tesseract 5.2.0
    • libtesseract 5.2.x
    • libleptonica 1.82.0+

.Net Project Structure


The project structure is as follows:

├──DocumentManagement.sln/                     * projects solution
│   │
│   ├──DocumentManagement.API                  * REST API Controller, Dependancy configuration, Auto mapper profile 
│   │
│   ├──DocumentManagement.MediatR              * Command handler, Query handler, Fluent API validation
│   │
│   ├──DocumentManagement.Repository           * Each entity repository
│   │
│   ├──DocumentManagement.Domain               * Entity framework dbContext 
|   |
│   ├──DocumentManagement.Common               * Generic repository and Unit of work patterns
│   │ 
│   ├──DocumentManagement.Data           	 * Entity classes and DTO classes
│   │
│   ├──DocumentManagement.Helper               * Utility classes

Angular Project Structure


The directory structure is as follows:

UserDocumentManagement/ 
├──src/                       		* source files that will be compiled to javascript
│   │
│   ├──test.ts                		* test
│   │
│   ├──styles.scss            		* globally stylesheet
│   │
│   ├──index.html            		* application layout
│   │
│   ├──main.ts                		* entry file for our browser environment
|   |
│   ├──main.server.ts                   * entry file for our server environment
│   │ 
│   ├──polyfills.ts           		* polyfills file
│   │
│   ├──favicon.ico            		* favicon 
│   │
│   ├──app/                   		* application code - our working directory
|   |   |
│   |   ├──category/                * application code - document category add,edit and list
|   |   |
│   |   ├──core/                   	* components,services and directives - only imported once in the AppModule
|   |   |
│   |   ├──dashboard/               * basic charts and statistics 
|   |   |
│   |   ├──document/                * document add, edit, permission and list
|   |   |
│   |   ├──document-audit-trail/    * document audit logs
|   |   |
│   |   ├──document-library/        * list of assigned documents for view
|   |   |
│   |   ├──login/                   * authentication management
|   |   |
│   |   ├──notification/            * user notification list
|   |   |
│   |   ├──operation/               * pages action list
|   |   |
│   |   ├──role/                   	* role add, edit and list
|   |   |
│   |   ├──screen/                  * list of screens(pages)
|   |   |
│   |   ├──screen-operation/        * mapping screen with operation(action)
|   |   |
│   |   ├──user/                   	* usermanagement
│   │   │
│   │   ├──app.component.ts   		* main application component
│   │   │
│   │   ├──app.component.html 	  	* main application html file
│   │   │
│   │   ├──app.component.scss 		* main application styles
│   │   │
│   │   ├──app.module.ts      		* main application module
│   │   │
│   │   ├──app.routing.ts     		* application routes
│   │   │  
│   │   ├──http-interceptor.module.ts  * set rest service uri for each rest call and manage loading for rest calls
│   │   │
|   │   ├──shared/             		* shared modules folder
│   │
│   ├──environments/         		* environments
│   └──assets/                		* static assets are served here
│ 
├──e2e/                       * will be used for end-to-end tests to ensure functionality for users before deploying
├──angular.json               * used for configuration of project specific settings
├──karma.conf                 * config file for karma testing framework
├──package.json               * contains all dependencies used for production and development
├──README.md                  * read me file
├──tsconfig.app.json          * config app for typescript
├──tsconfig.json              * config for typescript
├──tsconfig.spec.json         * config spec for typescript
└──tslint.json                * Angular-CLI includes an automatic Typescript-Linter, which can be configured with this file

Permission to new module


  • Add screen name from screen page
  • Go to Screen Operation page, Select screen opration according to your requirements
  • Go to your module routing file and given claim type as below,
                                    {
                                    path: '', component: DocumentListComponent,
                                    data: { claimType: 'document_list' },
                                    canActivate: [AuthGuard]
                                    },
                                
                                    <button *hasClaim="'document_edit'" 
                                    (click)="editDocument(document)">
                                    <i class="las la-pen" > </i>
                                    Edit
                                    </button>
                            

    claimType: {screen/page name}_{operation/ action name}

    hasClaim: structural directive to show and hide action base on claim type

Support and Feedback


All questions you can send via the contact form HERE.

I will answer all questions within 24-48h in the order they were received.

Please do not panic if I do not answer too long – I love my buyers and I’ll answer for all questions ;)

Support for my items includes:

  • Answering questions about how to use the item.
  • Answering technical questions about the item (and included third party assets).
  • Help with defects in the item or included third party assets.
  • Item updates to ensure ongoing compatibility and to resolve security vulnerabilities.

Item support does not include:

  • Installation of the item.
  • Hosting, server environment, or software.
  • Support for third party plug-ins.
  • Plugins integration.
  • Support for issues caused by user modifications in the solution’s code, styling and general functionality.

More information about the terms of support you can see here: https://codecanyon.net/page/item_support_policy

Conclusion


Thank you for your purchase!

Thanks for reading the Instruction, hope it’s been really helpful and resolved most of your concerns.


Don’t forget to rate if you enjoy the product! It is very important for us to have certain goal.