All Projects → jonashellmann → everydocs-core

jonashellmann / everydocs-core

Licence: GPL-3.0 license
A simple Document Management System for private use with basic functionality to organize your documents digitally

Programming Languages

ruby
36898 projects - #4 most used programming language
HTML
75241 projects
coffeescript
4710 projects
SCSS
7915 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to everydocs-core

The Plain Contract
The Plain Contract is a crowsourced, open source freelance contract template, written in plain language.
Stars: ✭ 210 (+87.5%)
Mutual labels:  document
gemma-zaken
Samen ontwikkelen van API's voor Zaakgericht werken
Stars: ✭ 40 (-64.29%)
Mutual labels:  document-management
DocumentReader-iOS
iOS Framework for reading and validation of identification documents
Stars: ✭ 54 (-51.79%)
Mutual labels:  document
Php Mongo
MongoDB ODM. Part of @PHPMongoKit
Stars: ✭ 228 (+103.57%)
Mutual labels:  document
k-box
Web-based application to manage documents, images, videos and geodata.
Stars: ✭ 28 (-75%)
Mutual labels:  document
Document-Classification-using-LSA
Document classification using Latent semantic analysis in python
Stars: ✭ 16 (-85.71%)
Mutual labels:  document
Tutorials
📖 Community driven web development tutorials
Stars: ✭ 189 (+68.75%)
Mutual labels:  document
CleanSCAN
A simple, smart and efficient document scanner for Android
Stars: ✭ 151 (+34.82%)
Mutual labels:  document
guide
Maintenance Guidelines for GitHub/npm organization.
Stars: ✭ 12 (-89.29%)
Mutual labels:  document
document-management-software
LogicalDOC Community open source document management system https://www.logicaldoc.com
Stars: ✭ 70 (-37.5%)
Mutual labels:  document-management
Filebase
A Simple but Powerful Flat File Database Storage.
Stars: ✭ 235 (+109.82%)
Mutual labels:  document
paperwork-backend
Backend part of Paperwork (Python API, no UI)
Stars: ✭ 18 (-83.93%)
Mutual labels:  document-management
project-organization
YunoHost project organization
Stars: ✭ 31 (-72.32%)
Mutual labels:  document
Pdf Lib
Create and modify PDF documents in any JavaScript environment
Stars: ✭ 3,426 (+2958.93%)
Mutual labels:  document
Representation-Learning-for-Information-Extraction
Pytorch implementation of Paper by Google Research - Representation Learning for Information Extraction from Form-like Documents.
Stars: ✭ 82 (-26.79%)
Mutual labels:  document
Doc Han Att
Hierarchical Attention Networks for Chinese Sentiment Classification
Stars: ✭ 206 (+83.93%)
Mutual labels:  document
dom-lite
A small DOM library for server-side testing, rendering, and handling of HTML files
Stars: ✭ 18 (-83.93%)
Mutual labels:  document
deep-learning-for-document-dewarping
An application of high resolution GANs to dewarp images of perturbed documents
Stars: ✭ 100 (-10.71%)
Mutual labels:  document
j-lawyer-org
Main project containing all submodules for building an entire j-lawyer.org system. Submit issues (bugs, enhancement requests) here.
Stars: ✭ 35 (-68.75%)
Mutual labels:  document-management
tool-db
A peer-to-peer decentralized database
Stars: ✭ 15 (-86.61%)
Mutual labels:  document

EveryDocs Core

Build Status Lines of Code License GitHub Repo Stars Commit activity Last commit

EveryDocs Core is the server-side part of EveryDocs. This project contains a web interface. All in all, EveryDocs is a simple Document Management System (DMS) for private use. It contains basic functionality to organize your documents digitally.

Features

  • Uploading PDF documents with a title, description and the date the document was created
  • Organizing documents in folders and subfolders
  • Adding people and processing states to documents
  • Extracting the content from the PDF file for full-text search
  • Searching all documents by title, description or content of the document
  • Creating new accounts (be aware that at the current moment everybody who knows the URL can create new accounts)
  • Authentication via JsonWebToken
  • REST-API for all CRUD operation for documents, folders, persons and processing states
  • Mobile-friendly web UI

Screenshots of the web interface

EveryDocs Web - Dashboard EveryDocs Web - Uploading new document

Installation

Docker (recommended)

Start the container and make the API accessible on port 8080 by running the following commands. Of course, you can change the port in the last command. Also make sure to check the folder that is mounted into the container. In this case, the uploaded files are stored in /data/everydocs on the host.

docker run -p 127.0.0.1:8080:5678/tcp -e SECRET_KEY_BASE="$(openssl rand -hex 64)" -v /data/everydocs:/var/everydocs-files jonashellmann/everydocs

You can configure the application by using the following environment variables:

  • EVERYDOCS_DB_ADAPTER: The database adapter (default: mysql2)
  • EVERYDOCS_DB_NAME: The name of the database (default: everydocs)
  • EVERYDOCS_DB_USER: The user for the database connection (default: everydocs)
  • EVERYDOCS_DB_PASSWORD: The password for the database connection (no default)
  • EVERYDOCS_DB_HOST: The host of the database (default: localhost)
  • EVERYDOCS_DB_PORT: The port of the database (default: 3306)

You might want to include this container in a network so it has access to a database container. Also there are ways to connect to a database that runs on the host (e.g. see Stackoverflow).

Manual Installation (not recommended)

  1. Make sure you have Ruby installed. For an installation guide, check here: Ruby installation guide
  2. If you haven't installed the Rails Gem, you can run the following command: gem install rails
  3. Download the newest release and unzip it in a location of your own choice.
  4. Configure your database connection by setting the following environment variables: EVERYDOCS_DB_ADAPTER (e.g. mysql2), EVERYDOCS_DB_NAME, EVERYDOCS_DB_USER, EVERYDOCS_DB_PASSWORD, EVERYDOCS_DB_HOST, EVERYDOCS_DB_PORT. You can do so by editing the start-app.sh script.
  5. Configure the folder where documents are stored in config/settings.yml. The default location is /var/everydocs-files/.
  6. Install required dependencies by running: bundle install
  7. You might want to change the port of the application in start-app.sh and stop-app.sh.
  8. Setup your database by running: rake db:migrate RAILS_ENV=production. If there is an error, you might need to execute the following command, to set an encryption key: EDITOR="mate --wait" bin/rails credentials:edit
  9. Make sure that the environment variable SECRET_KEY_BASE has a value. If not, you can generate a key by running rake secret and set it by editing the start-app.sh script. In case your not using production as your environment, the environment variable SECRET_KEY_BASE_DEV or SECRET_KEY_BASE_TEST needs to be set.
  10. Start your Rails server: ./start-app.sh
  11. Access the application on http://localhost:5678 or configure any kind of proxy forwarding in your webserver.
  12. If you wish to use this application in your web browser, consider to install EveryDocs Web!
  13. Stop the application: ./stop-app.sh

Backup

To backup your application, you can simply use the backup functionality of your database. For example, a MySQL/MariaDB DBMS may use mysqldump.

Additionally you have to backup the place where the documents are stored. You can configure this in config/settings.yml. To restore, just put the documents back in that location.

Routes Documentation

To learn about the routes the API offers, run the following command: rake routes

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].