Skip to content
Snippets Groups Projects
README.md 2.38 KiB
Newer Older
  • Learn to ignore specific revisions
  • Eugen Ciur's avatar
    Eugen Ciur committed
    [![Tests](https://github.com/papermerge/papermerge.js/actions/workflows/tests.yml/badge.svg)](https://github.com/papermerge/papermerge.js/actions/workflows/tests.yml)
    
    # PapermergeJS
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    PapermergeJS is frontend part i.e. web-based user interface of Papermerge
    Document Management System. It is meant to be used in conjunction with
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    [Papermerge REST API backend server](https://github.com/papermerge/papermerge-core).
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    ## What is Papermerge DMS?
    
    Papermerge is an open source document management system (DMS) designed
    for **digital archives**. Instead of having piles of paper documents all over
    your desk, office or drawers - you can quickly scan them and configure your
    scanner to directly upload to Papermerge DMS.
    
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    ![Papermerge](./screenshots/papermerge-dual-panel.png)
    
    
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    ## What is a Digital Archive?
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    
    Simply put a digital archive is a scanned document. In broader sense, digital
    archives are documents whose content does not change in time; a good example of
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    such **documents are PDF files**. If you take a picture of a document, you'll end
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    up with a "scanned document" in png, jpeg or whatever format that picture is
    stored. In context of papermerge a picture of a document made with you mobile
    phone is also a digital archive.
    
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    Papermerge **supports pdf, jpeg, png and tiff** file formats.
    
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    
    
    ## Prerequisites
    
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    In general, all you need to run this application is a modern web browser like
    Google Chrome or Mozilla Firefox, however if you plan to run application in
    development mode, you will need some extras:
    
    
    * [Node.js](https://nodejs.org/) (with npm)
    * [Ember CLI](https://ember-cli.com/)
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    
    Technically speaking, PapermergeJS is written using [EmberJS](https://emberjs.com/) web framework.
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    
    
    ## Installation
    
    
    * `git clone git@github.com:papermerge/papermerge.js.git` this repository
    * `cd papermerge.js`
    
    * `npm install`
    
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    
    
    ## Running / Development
    
    * `ember serve`
    * Visit your app at [http://localhost:4200](http://localhost:4200).
    * Visit your tests at [http://localhost:4200/tests](http://localhost:4200/tests).
    
    
    ### Running Tests
    
    * `ember test`
    * `ember test --server`
    
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    
    
    ### Linting
    
    * `npm run lint`
    
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    
    
    ### Building
    
    * `ember build` (development)
    * `ember build --environment production` (production)
    
    
    
    ### Docker Image
    
    Build production mode docker image:
    
        docker build -t papermerge/papermerge.js:2.1.0-alpha1 -f docker/Dockerfile .
    
    Run docker image:
    
        docker run -p 8080:80 papermerge/papermerge.js:2.1.0-alpha1