Table of Contents
Instascan provides a way to digitize and save documents that are available in paper form. The documents are scanned as images and stored on a data server. At the same time, an analysis of the documents is triggered, which extracts the values of the individual fields. To achieve this, AI systems are used that generate a complete data object by specifying the fields to be filled in. To ensure that the data objects created are correct, a way is also provided to view and subsequently edit the data via a front end.
Framework for building dynamic web applications
Platform for containerizing and deploying applications efficiently
Utility for linting and enforcing code quality in JavaScript and TypeScript
JavaScript testing framework
- S3-compatible object storage
Node.js framework for building scalable server-side applications
Build system for monorepos
Relational database management system known for reliability and performance
Code formatter for consistent style
ORM for database management
Message broker for distributed systems, supporting AMQP
Library for managing asynchronous events
Tools for designing and documenting APIs
Strongly typed programming language that enhances JavaScript
Versatile, high-level programming language known for its readability and ease of use
The project consists of the following components:
- Backend for frontend (
bff)
- Exposes endpoints for the frontend application.
- Handles all incoming HTTP requests and routes them to the appropriate services via AMQP.
- Takes care of the preparation of the data for the Angular frontend.
- Storage Service (
storage-service)
- Stores incoming documents on a S3 server.
- Saves information on the documents and the analysis result in a Postgres database.
- Can be addressed via AMQP by the bff and the dcoument-analysation-service.
- Allows you to edit data records to correct errors in the analysis.
- Document Analyzation Service (
document-analyzation-service)
- Accepts the images sent via the bff.
- Forwards the document including the appropriate data fields and the necessary prompts to an AI service.
- As soon as the response from the AI service (in the form of the filled data object) is available, it is forwarded via AMQP to the storage service to be saved.
- Frontend (
frontend)
- Allows users to scan or upload new documents.
To set up and run Instascan locally, please consult the chapter Installation and Tutorial in our documentation. This chapter provides step-by-step instructions to guide you through the process of installing, configuring and running Instascan on your local machine.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/amazing-feature) - Commit your Changes (
git commit -m 'Add some amazing-feature') - Push to the Branch (
git push origin feature/amazing-feature) - Open a Pull Request
Licensed under the Apache License 2.0. See LICENSE for details.
Tim Chilla: tim.chilla@iml.fraunhofer.de
Lukas Grieger: lukas.grieger@iml.fraunhofer.de
- Best-README-Template provided inspiration and structure for creating this README file
- Img Shields enabled the creation of customizable and visually appealing badges for this project, which is included unmodified in this readme file under the terms of the CC0 1.0 Universal