clairempr / letterpress

Django web application for the management of transcriptions and images of letters and related documents

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Letterpress

CircleCI Coverage Status Screenshot Claire Pritchard
April 2017 - Present

Letterpress is a Django web application for the management of transcriptions and images of letters and related documents. I originally created it to help manage my transcriptions of 19th-century correspondence which I was using as input for natural language processing experiments.

The name comes from an early office technology which people used to duplicate documents and store them in a letterpress copybook.

Letter

Features

  • Highly customized Django Admin
  • Full-text searching with Elasticsearch Fuzzy text search
  • SQLite database
  • Place mapping with OpenStreetMap and OpenLayers 6 Map
  • Export to text files
  • Word frequency statistics by month, with Bokeh charts Charts
  • Word clouds for writers, date ranges, etc. Word cloud

Notes

  • Make sure you have write access to the SQLite database file db.sqlite3
  • Set up a Django Admin user with the command shell python manage.py createsuperuser .
  • Elasticsearch index can be created or updated manually with the Django management command push_to_index, otherwise updates are automatic when the model is saved.
  • Text searches are fuzzy by default. For exact match, enclose search terms in quotes.

Setup with Docker

  • Build the django and elasticsearch services:
    docker-compose -f docker-compose.yml build
  • Run the django and elasticsearch services:
    docker-compose -f docker-compose.yml up

Credits

Photograph of copy press from Letterpress Commons, map marker from Maps Icons Collection, other images public domain. Thanks to Hipster Ipsum and Bacon Ipsum for some of the gibberish text in my unit tests.

About

Django web application for the management of transcriptions and images of letters and related documents

License:Apache License 2.0


Languages

Language:JavaScript 84.1%Language:Python 13.1%Language:CSS 1.6%Language:HTML 1.1%Language:Dockerfile 0.0%Language:Shell 0.0%