/Teedy

Lightweight document management system packed with all the features you can expect from big expensive solutions

Primary LanguageJavaScriptGNU General Public License v2.0GPL-2.0

Teedy

License: GPL v2

Teedy is an open source, lightweight document management system for individuals and businesses.



New!

Demo

A demo is available at demo.teedy.io

  • Guest login is enabled with read access on all documents
  • "admin" login with "admin" password
  • "demo" login with "password" password

Features

  • Responsive user interface
  • Optical character recognition
  • LDAP authentication New!
  • Support image, PDF, ODT, DOCX, PPTX files
  • Video file support
  • Flexible search engine with suggestions and highlighting
  • Full text search in all supported files
  • All Dublin Core metadata
  • Custom user-defined metadata New!
  • Workflow system New!
  • 256-bit AES encryption of stored files
  • File versioning New!
  • Tag system with nesting
  • Import document from email (EML format)
  • Automatic inbox scanning and importing
  • User/group permission system
  • 2-factor authentication
  • Hierarchical groups
  • Audit log
  • Comments
  • Storage quota per user
  • Document sharing by URL
  • RESTful Web API
  • Webhooks to trigger external service
  • Fully featured Android client
  • Bulk files importer (single or scan mode)
  • Tested to one million documents

Native Installation

Requirements

Before building Teedy from source, you will need to install several prerequisites, including Java 11+, Maven 3+, NPM, Grunt, Tesseract 4, ffmpeg, and mediainfo. We give instructions for installing these prerequisites on several platforms below.

Linux (Ubuntu 22.04)

sudo apt install \
  default-jdk \
  ffmpeg \
  grunt \
  maven \
  npm \
  tesseract-ocr \
  tesseract-ocr-ara \
  tesseract-ocr-ces \
  tesseract-ocr-chi-sim \
  tesseract-ocr-chi-tra \
  tesseract-ocr-dan \
  tesseract-ocr-deu \
  tesseract-ocr-fin \
  tesseract-ocr-fra \
  tesseract-ocr-heb \
  tesseract-ocr-hin \
  tesseract-ocr-hun \
  tesseract-ocr-ita \
  tesseract-ocr-jpn \
  tesseract-ocr-kor \
  tesseract-ocr-lav \
  tesseract-ocr-nld \
  tesseract-ocr-nor \
  tesseract-ocr-pol \
  tesseract-ocr-por \
  tesseract-ocr-rus \
  tesseract-ocr-spa \
  tesseract-ocr-swe \
  tesseract-ocr-tha \
  tesseract-ocr-tur \
  tesseract-ocr-ukr \
  tesseract-ocr-vie

Mac

brew install \
  ffmpeg \
  grunt-cli \
  maven \
  mediainfo \
  npm \
  openjdk \
  tesseract \
  tesseract-lang

Windows

It is highly recommended that you proceed to install Windows Subsystem Linux (WSL), following the link: Install Linux on Windows with WSL . This will allow you to run a Linux distro (Ubuntu's the default) within the Windows environment, and you can then proceed to follow the Linux (Ubuntu 22.04) instructions to install the dependencies.

Note: This would mean that you should proceed to execute the following instructions within the Linux environment as well.

How to build Teedy from the sources

Prerequisites: JDK 11, Maven 3, NPM, Grunt, Tesseract 4

Teedy is organized in several Maven modules:

  • docs-core
  • docs-web
  • docs-web-common

First off, clone the repository: git clone https://github.com/sustech-cs304/Teedy or download the sources from GitHub.

Launch the build

From the root directory:

mvn clean -DskipTests install

Run a stand-alone version

From the docs-web directory:

mvn jetty:run

Build a .war to deploy to your servlet container

From the docs-web directory:

mvn -Pprod -DskipTests clean install

You will get your deployable WAR in the docs-web/target directory.

Contributing

All contributions are more than welcomed. Contributions may close an issue, fix a bug (reported or not reported), improve the existing code, add new feature, and so on.

The master branch is the default and base branch for the project. It is used for development and all Pull Requests should go there.

License

Teedy is released under the terms of the GPL license. See COPYING for more information or see http://opensource.org/licenses/GPL-2.0.