Document Management is a self-hosted web-based document management system designed to help organizations store, track, modify, and manage documents on a centralized platform. Features include document sharing, reminders, user management, bulk permissions, document download, document preview, send document email, document audit tracking and multilingual.
It’s stored all the documents in encrypted form on server. It allows you to upload multiple documents and share with unlimited system users. It also allows you to share documents with specific period and allow download option.
User Name: firstname.lastname@example.org
User Name: email@example.com
- Manage Documents: You can Store unlimited documents by category or sub category.
- Upload Documents:You can Upload PDF, Docs, Excel, PPT, audio, video, all type of images, text and CSV Documents.
- Encrypted Document: All documents store in encrypted form on server. Only system can decrypted document.
- Document access control: Assign document to users or roles for specific period of time or unlimited period and set allow download option.
- Audit trails: Document detail Audit trail like Who is created, edited, viewed and assigned permission to which users or roles.
- Document Preview: Preview Uploaded files including audio,video, image, text, PDF and all the Microsoft Office Documents.
- Document Mata Tags: You can add multiple Meta Tags on documents and by meta tags you can search the specific documents.
- Document Versioning: You can upload the Document’s multiple versions. You can See the Older version Document and also restore it to the current version.
- Comments: Users can add/view multiple comments on the file.
- Send Email:You can send email attached with System Document to anyone.
- Automate Reminder:You can set recurring Daily, Weekly, Monthly, Quarterly, Half Yearly, Yearly or Specific Date reminder in the system or on the document to get notification or email.
- Real Time Notification:As you share Document to Users/Roles, Shared users/Roles get instance notification.
- Support Multiple Language:By default, the application comes with English, Spanish, Arabic, Russian, Japanese, Korean and Chinese languages. You can add a new language in just minutes.
- Access management: Role and individual user based privilege control authorization.
- Dashboard:You can see category wise documents statistics and Calendar with Reminder.
- User & Role management: Admin can create User and Role via admin panel and assign role to users.
- Full Source Code: You will get full Source Code of Document Management and build version for SQL Server and MySQL database provider.
This Application is built to manage the User and Document based on Role/Claim.
It contains two application with SQL Server/MySQL database:
- Front-end (Angular 13).
- Rest API (.Net core 5)
- SQL Server/MySQL Database (All version greater than 2005)
Enterprise level architect for both Front-End and Rest API.
- Source code for angular front-end, .net core Rest API and Database Script includes with quick start guide document
- Follow the Enterprise level architecture standard For REST API likes
- Generic Repository Patterns
- Unit of work Patterns
- Uses Swagger for API documentation.
- Dependency Injection
- Mediator patterns
- Standard Naming conventions
- Token Based Authentication and Claim Based Authorization using JWT
- Less coupling
- Easier reuse
- Single Responsibility Principle
- Open/closed principle
- Easy to convert into micro services
- Easy to add new modules and modified existing functionality
- Async/Await Patterns for Each Methods
- Generic way to Handle REST API Status code
- Validate Rest Request Entity with Fluent API
- Store Logging info into Database using NLOG
- Follow the Enterprise level architecture standard For ANGULAR likes
- Separate each feature modules
- Fully strongly type
- Lazy loading
- Common Shared Module
- Core Module
- State Management with NGRX Data
- Generic Service for Pagination,Filtering and Sorting
- Easy to add feature module
- Easy to upgrade into latest version
- Generic Error Handling
- Common HTTP Interceptor to set REST API URL and Loading indicator
Technologies User for projects,
- Front-end (Angular).
- Angular 14
- Angular Material 14
- Bootstrap 4
- Ngrx Data
- Rest API (.Net core)
- .Net 5
- Entity Framework Core 5
- Automapper 10.1
- FluentValidation 9.2.2
- Swagger API
It can also be used as a starter template those applications need Token and Claim based Authentication.
Application is designed for extensibility you can add your own module and Assign permission to new modules that have been developed.
- Vs Code and Visual Studio 2019.
- SQL Server/MySQL Database.
- To Host Application on Shared Linux hosting it is required standard user account with sudo privilege.
- The latest non-preview .NET runtime installed on the server.
The API project has a well descriptive Swagger API documentation.
The Client project uses NLog (a 3rd party logger service) to generate a log text file as well it can be log into SQL/MySQL database.
24 March 21 : V1.0 Initial Release ------------------------------------------------- 25 Dec 2021 : V2.0 Breaking Changes 1- All Type of Document Upload and Preview. 2- Send Email. 3- Support Multiple Language 4- Automate Reminder 5- Send Email 6- Dashboard -------------------------------------------------- 21 June 2022 : V3 1. New Feature: Document Versions 2. New Feature: Document Comments 3. New Feature: Document Meta Tags