Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tomdewildt/receipt-scanner

Simple API to convert a picture of a receipt to a structured response
https://github.com/tomdewildt/receipt-scanner

actions docker flask jupyter pytesseract python

Last synced: 14 days ago
JSON representation

Simple API to convert a picture of a receipt to a structured response

Awesome Lists containing this project

README

        

# Receipt Scanner
[![Build](https://img.shields.io/github/actions/workflow/status/tomdewildt/receipt-scanner/ci.yml?branch=master)](https://github.com/tomdewildt/receipt-scanner/actions/workflows/ci.yml)
[![License](https://img.shields.io/github/license/tomdewildt/receipt-scanner)](https://github.com/tomdewildt/receipt-scanner/blob/master/LICENSE)

Simple API to convert a picture of a receipt to a structured response using [Pytesseract](https://github.com/madmaze/pytesseract).

# How To Run

Prerequisites:
* docker version ```20.10.8``` or later
* make version ```4.2.1``` or later (optional)

### Development

1. Run ```docker run --rm -it -p 8080:8080 -v src:/opt/service/src --name tomdewildt_receipt_scanner_dev tomdewildt_receipt_scanner_dev:latest``` or ```make build/dev``` to build the container (optional).
2. Run ```docker build --tag tomdewildt_receipt_scanner_dev:latest --file Dockerfile.dev .``` or ```make run/dev``` to start the container.

Run ```make init``` to install the requirements for the service on your local machine (optional).

### Production

1. Run ```docker run --rm -it -p 8080:8080 -v src:/opt/service/src --name tomdewildt_receipt_scanner_prod tomdewildt_receipt_scanner_prod:latest``` or ```make build/dev``` to build the container (optional).
2. Run ```docker build --tag tomdewildt_receipt_scanner_prod:latest --file Dockerfile.prod .``` or ```make run/dev``` to start the container.

# References

[Python Docs](https://docs.python.org/3/)

[Pytesseract Docs](https://github.com/madmaze/pytesseract)

[Flask Web Framework Docs](https://flask.palletsprojects.com/en/2.0.x/)

[Black Formatter Docs](https://black.readthedocs.io/en/stable/)

[Pylint Linter Docs](https://pylint.pycqa.org/en/latest/)

[Pytest Docs](https://docs.pytest.org/en/latest/)

[Docker Docs](https://docs.docker.com/)

[Dockerfile Docs](https://docs.docker.com/engine/reference/builder/)

[Receipt OCR Part 1](https://www.kaggle.com/code/dmitryyemelyanov/receipt-ocr-part-1-image-segmentation-by-opencv/notebook)

[Receipt OCR Part 2](https://www.kaggle.com/code/dmitryyemelyanov/receipt-ocr-part-2-text-recognition-by-tesseract/notebook)

[Regex101](https://regex101.com/r/quIQtp/1)