A simple tag based document storage

Lertsenem 5ca7ed1b79 Reverse doc list order 6 years ago
data eefe143614 Adding empty data dir 6 years ago
doctag 5ca7ed1b79 Reverse doc list order 6 years ago
libs de462c8dfe Adding jquery-dist submodule 6 years ago
mutnemucod cb3772e30c Adding STATIC_ROOT for dev settings too 6 years ago
screenshots 190bd10818 Moving README and screenshot at the right location 6 years ago
.dockerignore 7be6f769f6 dockerignore typo 6 years ago
.gitignore 32db572519 Adding static to gitignore 6 years ago
.gitmodules de462c8dfe Adding jquery-dist submodule 6 years ago
Dockerfile.dev d6825224fd Corrections on conf and prod Dockerfile 6 years ago
Dockerfile.prod 4110e12065 Moving collectstatic command from Dockerfile to cmd file 6 years ago
README.md 6987bc556f Update README for new production container 6 years ago
docker_cmd.sh 7e85281045 Remove and recollect static at restart 6 years ago
manage.py 2954083ffe django startproject 6 years ago
requirements.txt a43304f7f4 Addig Wand to requirements 6 years ago
uwsgi.ini be59eaff51 Serve static files through uwsgi 6 years ago


Mut'Ne Mucod

Mut'Ne Mucod (or mutnemucod for easier typing) is a very simple tag-based document manager.

How it works

First you upload (PDF only, for now) documents and affect them "tags", which are basically strings: words, expressions, whole sentences, whatever you like really.

Then you can sort and download your uploaded documents using those tags through a sate-of-the-art user-friendly fully-responsive shiny web interface. Or you like curl and you can use the json api, cuz that's how swag I am. Is that 3.0 enough or what ?

Say I have for example a Picard supermarket (advertisers, please contact me to have your brand written here instead) facture from january 2009 that you want to keep. First you scan it and make a PDF out of it, I don't care much how.

Then you go to your mutnemucod instance, enter some tags such as month january, year 2009, Picard, facture, supermarket, food, cold stuff, money I spend or whatever, you click the big "+" floating button, upload your document, and voilà! Cool, huh?

How can I use it

This is a Python3 Django application, that currently depends only on the django python module. If you know how to host a django webapp, just go ahead.

Otherwise, the supported hosting method is Docker, using jwilder's nginx-proxy container image.

You can build the container image using the 'Dockerfile.prod' file, or directly use the prebuilt lertsenem/mutnemucod image on Dockerhub. The container image hosts the application using uwsgi. Data is stored in a volume mounted on '/usr/src/app/data'.

$> docker run -d jwilder/nginx-proxy
$> docker run -d -v /srv/mutnemucod-data:/usr/src/app/data \
$                -e VIRTUAL_HOST=mutnemucod.example.com \
$                   lertsenem/mutnemucod

The django SECRET_KEY is generated at run time (see 'docker_cmd.sh') using pwgen.

Features and limitations

As I said, it's very simple and limited for now. You can:

  • Upload and download PDF documents
  • Add and remove tags from documents
  • Search by tags
  • Search by no-tags (meaning you're searching for documents not containing some tag)

And that's about it. Not much, but hey, I'm only starting

What will or can be done

A lot of stuff, really. Here's a short list:

  • Add documents by mail (rather than using the wonderful web interface)
  • Remove documents
  • Add documents as images rather than PDF
  • Parse the PDF documents to get some infos automatically
  • Use OCR
  • Encrypt everything
  • Integrate with a LDAP server
  • Share documents through temporary links
  • Add some permissions to restrict user access to documents
  • Create an Android app to upload documents through the camera while keeping a locally synced cache of all documents and tags to use when there's no connectivity
  • And more...

If you want to add any of those features, or even something else, feel free to do so. You can get in touch with me by mail or on [Mastodon][https://mastodon.lertsenem.com/@lertsenem].