GithubHelp home page GithubHelp logo

cmu-313 / teedy Goto Github PK

View Code? Open in Web Editor NEW
7.0 5.0 155.0 17.42 MB

License: GNU General Public License v2.0

Dockerfile 0.06% Java 35.45% FreeMarker 0.05% Shell 0.01% JavaScript 58.27% HTML 5.63% Less 0.37% CSS 0.16%

teedy's Introduction

Teedy

License: GPL v2 Coverage

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

New!

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
  • 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.

Installation Steps

Clone the repository to your local machine (git clone https://github.com/CMU-313/Teedy) and then use Maven to build Teedy from source by running the following command from the root directory:

mvn clean -DskipTests install

After successfully building Teedy from source, you can launch a Teedy instance by running the following commands from the root directory:

cd docs-web
mvn jetty:run

The default admin password is "admin". Don't forget to change it before going to production.

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.

teedy's People

Contributors

buherman11 avatar carlreid avatar christimperley avatar cornelicorn avatar dschaper avatar evilmcjerkface avatar hukoeth avatar jamiemagee avatar jdtimmerman avatar jendib avatar junpet avatar kazelot avatar lord-lawnmower avatar lowski avatar michaelhilton avatar muhsinkutay avatar naku avatar pazekal90 avatar pyr0x1 avatar rillig avatar schemen avatar somebodyisnobody avatar staryvena avatar sup3rlativ3 avatar tedstriker avatar vasilevich avatar vec7or avatar vegardhw avatar victorhuangwq avatar vmario89 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

teedy's Issues

Improve SEO score by making links crawlable

The current SEO score is 70. This is the warning I am targeting: Search engines may use href attributes on links to crawl websites. Ensure that the href attribute of anchor elements links to an appropriate destination, so more pages of the site can be discovered. [Learn More]

Improve SEO Score by making font sizes legible

The current SEO Score is 64%. In the section the Mobile Friendly section, it states that the document doesn't use legible font sizes (only 49% of it is legible). I can change all the font sizes to be at least 12px for mobile visitors.

Fix Github Actions

The github actions currently builds a docker image. Instead, we want it to run the tests, and report the coverage numbers. Also, it should not upload to docker hub.

Improving Accessibility score by giving buttons useful names

Currently, the accessibility score is 76. I will target the warning that describes how quite a few of the buttons on the page do not have accessible names, causing screen readers to announce it as a "button" and making it unusable for users who rely on screen readers.
To fix this issue, I will give these buttons more specific names.

Improve SEO score by fixing empty hrefs

The current SEO score is 70. One of the warnings suggested that the empty hrefs be addressed by filling in empty links, which can either be done by adding a proper link to each href or by changing the a tags to span tags.

Improve Accessbility score by fixing aria attributes that do not match their roles

The current score I observed is 80, and the waring I received is "[aria-*] attributes do not match their roles".
According to the LightHouse manual, each ARIA role supports a specific subset of aria-* attributes. Applying an attribute to a role that doesn't support it generally won't break the role, but it should still be fixed.

Improve SEO by making the tap targets appropriately sized

Currently only 80% of the targets are appropriately sized. This means the other 20% of the targets are either not large enough or don't have enough space around them to be easy for a user to tap without overlapping onto other elements. This issue will fix this 20%, and improved the SEO which is currently 88.

Improve "Accessibility" score by making button have an accessible name on the "Tags" page when a user creates a new tag

Currently, the Accessibility score for the Tags page when a user creates a new tag is 77. One of the problems on top of the button not having an accessible name on the Tags page is also the button when a user creates a new tag within the Tags page. That button also does not have an accessible name. This is important because the purpose of the tags page is create tags, if each new tag's setting doesn't have an accessible name but the Tags page does, this page is still not 100% accessible.

Improving SEO by making links crawlable

The current SEO score of the Teedy is 78. One of the main reasons for this is that many of its links are not crawlable, which can hinder access to some pages.

Improve accessibility score by adding label to image

Using Google Lighthouse, the current accessibility score is 86. The warning being targeted is "Image elements do not have [alt] attributes". This change is aimed at improving the experience for users of assistive technology like a screen reader by improving the semantics of the controls in Teedy.

Improve performance score by minifying large JavaScript files

The current performance score by Lighthouse is 49. I am targeting the warning "Minify JavaScript" which says that the JavaScript files can be minified to reduce payload sizes and script parse times.

This change will minify some of the JavaScript files to improve the performance score.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.