# Elyse EDMS > Elyse is an Electronic Document Management System (EDMS) comprising a SQL Server database, an ASP.NET Core 8 backend, and an Angular 17 frontend. It is fully featured and configured, ready to use out of the box. ## Documentation - [Backend Documentation](backend.md): ASP.NET Core 8 REST API — stored procedure execution, data transforms, endpoint patterns, file storage, configuration providers, deployment models. - [Frontend Documentation](frontend.md): Angular 17 SPA — CSV-driven UI configuration, menu system, forms, tables, command palette, progressive data selection, help system. - [User Interface Documentation](user-interface.md): End-user perspective — searching, command palette, roles, access control, documents, files, metadata, tags, bookings, workflows, forms, audit logs. - [Database Documentation](database.md): SQL Server database — 184 tables, 940 stored procedures, application roles, security framework, permission structure, metadata, forms, tagging, workflow management. ## User Guide End-user help pages, consolidated in a single page at app-documentation.html: - [Introduction](app-documentation.html#sec-introduction): The Elyse® DMS (Document Management System) is a high-integrity document management database platform designed for the purpose of managing controlled documents. - [What Is A Controlled Document](app-documentation.html#sec-what-is-a-controlled-document): Controlled documents have characteristics that differentiate them from other types of documents. The management of these types of documents is governed by strict rules. - [Demo Database Primer](app-documentation.html#sec-demo-primer): The following is a primer introduction to Elyse, using the demonstration database. - [Onboarding](app-documentation.html#sec-onboarding): Elyse has a multi-layered and fine-grained privilege system. All privileges beyond connecting to the database are managed within the Elyse database. - [Role Selection](app-documentation.html#sec-role-selection): The visibility of Command Palette results, navigation bar menus and context menus are controlled according to active user roles. - [User Interface Basics](app-documentation.html#sec-basic-user-interface): The navigation bar is the grey bar at the top of the window. Text with a ▼ symbol after it is a menu. - [The Command Palette](app-documentation.html#sec-command-palette): Across all the user roles Elyse has around 900 different commands. Many of these commands can be further divided into different customized forms. - [User-Related Lists](app-documentation.html#sec-user-related-lists): Users can be directly linked to documents, files, duty functions, people lists, personal tag browsing trees and workflow instance steps. - [Basic Searching](app-documentation.html#sec-basic-searching): The navigation bar is the grey bar at the top of the window. Near the left is a menu Basic Search. - [Advanced Searching](app-documentation.html#sec-advanced-searching): This section covers searching for documents and files at access levels other than the unprivileged user. - [Filter Groups](app-documentation.html#sec-filter-groups): Filter groups are groups of metadata fields that are used to automatically filter results. - [Creating Document IDs](app-documentation.html#sec-creating-document-ids): Document IDs can be created in one of three ways. - [Loading Files](app-documentation.html#sec-loading-files): Files can be loaded into Elyse by users with Reviewer, Editor or Controller role privileges. - [Document Release Management](app-documentation.html#sec-release-management): A document can comprise a series of releases. A release has an associated Release Type and Release Identifier. - [Metadata Basics](app-documentation.html#sec-metadata-types): Elyse uses an extensible attribute system. Any number of additional fields can be created by users with Configurator-level role privileges. - [Forms](app-documentation.html#sec-forms): All metadata for documents and files can only be presented via a form definition. - [File Viewing Rights](app-documentation.html#sec-file-viewing-rights): A user has permission to view a file if one of the following conditions are met. - [Introduction to Elyse Tags](app-documentation.html#sec-introduction-to-tags): In Elyse, the primary objects are documents. Tags can be used for finding documents. - [Tag Management](app-documentation.html#sec-tag-management): Document tags are used primarily for sorting, grouping and finding documents. - [Document Groups](app-documentation.html#sec-document-groups): Documents can be grouped into Document Groups. Document groups in turn are used for restricting visibility and editing rights. - [Document Group Editor Level Permissions](app-documentation.html#sec-document-group-editor-permissions): The following applies to Editor level permissions only. - [File Groups](app-documentation.html#sec-file-groups): File groups are used for managing rights to edit the metadata of files. File groups are managed at Controller level. - [File Group Editor Level Permissions](app-documentation.html#sec-file-group-editor-permissions): File groups are used for managing rights to edit the metadata of files. - [Controller Groups](app-documentation.html#sec-controller-groups): Edit permissions for metadata are divided into two layers. At the first layer are permissions that are granted by Authorizers to Controllers. - [Reader Level Role](app-documentation.html#sec-reader-level): The Reader level role has privileges that are not available to an unprivileged user. - [Reviewer Level Role](app-documentation.html#sec-reviewer-level): The Reviewer level role has all the privileges of the Reader role, plus loading files and linking files to workflow outputs. - [Editor Level Role](app-documentation.html#sec-editor-level): The Editor level role has all the privileges of the Reader level role, plus creating document IDs, loading files and editing metadata. - [Controller Level Role](app-documentation.html#sec-controller-level): The Controller function is intended to manage day-to-day administrative functions such as populating and updating metadata fields. - [Authorizer Level Role](app-documentation.html#sec-authorizer-level): The Authorizer function is for managing the granting and revoking of privileges. - [Configurator Level Role](app-documentation.html#sec-configurator-level): The Configurator function is intended to manage the initial configuration of an Elyse database instance. - [Workflow Management](app-documentation.html#sec-workflow-management): Apart from the operating system, the Elyse database is application layer agnostic. It is designed to function independently of document file editing software. - [Booking Management](app-documentation.html#sec-booking-management): An Editor or Controller can book out any document which they have edit permission for and which has not already been booked out. - [Audit Logs](app-documentation.html#sec-audit-logs): Elyse contains dedicated audit log tables for authorizer privilege requests, user role granting, file access logging and workflow management.