# Modulewise Appendix

&#x20; Key API contract: [API Contract](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/specs/anuvaad-api-contract-minimal.yml)

<table><thead><tr><th width="83">slno</th><th width="183">Module name</th><th width="219">Purpose</th><th width="137">Code location</th><th>API contract</th></tr></thead><tbody><tr><td>1</td><td>user management</td><td>manage the User and Admin side functionalities in Anuvaad.</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-api/anuvaad-user-management/user-management">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-api/anuvaad-user-management/user-management/docs/ums_contract.yaml">API Contract</a></td></tr><tr><td>2</td><td>file handler</td><td>The User Uploads the file and in return the file will be stored in the samba share for further api's to access them.</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-etl/anuvaad-extractor/file-uploader">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-etl/anuvaad-extractor/file-uploader/docs/file-handler-api-contract.yml">API Contract</a></td></tr><tr><td>3</td><td>file converter</td><td>consumes the input files and converts them into PDF. Best results are obtained only for the file formats supported by Libreoffice.</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-etl/anuvaad-extractor/file-converter">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-etl/anuvaad-extractor/file-converter/docs/pdf-converter-api-contract.yml">API Contract</a></td></tr><tr><td>4</td><td>file translator</td><td>transform the data in the file to form JSON file and download the translated files of type docx, pptx, and html.</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-etl/anuvaad-extractor/file_translator">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-etl/anuvaad-extractor/file_translator/docs/file_translator_api_contract.yml">API Contract</a></td></tr><tr><td>5</td><td>content handler</td><td>handle and retrieve back the contents (final result) of files translated in the Anuvaad system.</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-etl/anuvaad-extractor/content-handler">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-etl/anuvaad-extractor/content-handler/docs/content-handler-api-contract.yml">API Contract</a></td></tr><tr><td>6</td><td>document converter</td><td>This microservice is intended to generate the final document after translation and digitization. This currently supports pdf, txt, xlsx document generation.</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-etl/anuvaad-extractor/document-converter">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-etl/anuvaad-extractor/document-converter/docs/document-converter-api-contract.yml">API Contract</a></td></tr><tr><td>7</td><td>tokenizer</td><td>tokenise the input paragraphs received into independently translatable sentences which can be consumed by downstream services to translate the entire input</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-etl/anuvaad-extractor/sentence">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-etl/anuvaad-extractor/sentence/docs/sentence-api-contarct.yml">API Contract</a></td></tr><tr><td>8</td><td>ocr tokenizer</td><td>This service is used to tokenise the input paragraphs received into independently translatable sentences which can be consumed by downstream services to translate the entire input.</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-etl/anuvaad-extractor/sentence_ocr/sentence">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-etl/anuvaad-extractor/sentence_ocr/sentence/docs/sentence-api-contarct.yml">API Contract</a></td></tr><tr><td>9</td><td>ocr content handler</td><td>handle and manipulate the digitized data from anuvaad-gv-document-digitize which is part of the Anuvaad system.</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-etl/anuvaad-extractor/ocr-content-handler">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-etl/anuvaad-extractor/ocr-content-handler/docs/ocr-contenthandler-api-contract.yml">API Contract</a></td></tr><tr><td>10</td><td>Aligner</td><td>This Module is for “aligning” or simply, finding similar sentence pairs from two lists of sentences,</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-etl/anuvaad-extractor/aligner">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-etl/anuvaad-extractor/aligner/docs/etl-aligner-api-contract.yml">API Contract</a></td></tr><tr><td>11</td><td>workflow manager</td><td>centralized orchestrator which directs the user input through the dataflow pipeline to achieve the desired output.</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-etl/anuvaad-workflow-mgr">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-etl/anuvaad-workflow-mgr/docs/etl-wf-manager-api-contract.yml">API Contract</a></td></tr><tr><td>12</td><td>Block merger</td><td>extract text from a digital document in a structured format(paragraph,image,table) which is then used for translation purposes.</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-etl/anuvaad-extractor/block-merger">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-etl/anuvaad-extractor/block-merger/docs/block-merger-api-contarct.yml">API Contract</a></td></tr><tr><td>13</td><td>translator</td><td>Translator is a wrapper over the NMT and is used to send sentence by sentence to NMT for translation of the document</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-etl/anuvaad-translator">GitHub</a></td><td></td></tr><tr><td>14</td><td>word detector</td><td>Input as pdf or image If input is pdf , then convert pdf into images Use custom prima line model to line detection in the image</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-etl/anuvaad-extractor/document-processor/word-detector/craft">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-etl/anuvaad-extractor/document-processor/word-detector/craft/doc/word-detector-craft-api-contract.yml">API Contract</a></td></tr><tr><td>15</td><td>layout detector</td><td>Output of word detector as an input. Use a prima layout model for layout detection in the image.</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-etl/anuvaad-extractor/document-processor/layout-detector/prima">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-etl/anuvaad-extractor/document-processor/layout-detector/prima/doc/page-layout-prima-api-contract.yml">API Contract</a></td></tr><tr><td>16</td><td>block segmenter</td><td>Output of layout detector as an input. Collation of line and word at layout level</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-etl/anuvaad-extractor/document-processor/block-segmenter">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-etl/anuvaad-extractor/document-processor/block-segmenter/docs/block-sementer-api-contract.yml">API Contract</a></td></tr><tr><td>17</td><td>google vision ocr</td><td>Output of block segmenter as an input. Use google vision as OCR engine. Text collation at word,line and paragraph level.</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-etl/anuvaad-extractor/document-processor/gv-document-digitization">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-etl/anuvaad-extractor/document-processor/gv-document-digitization/doc/gv-document-digitize-api-contract.yaml">API Contract</a></td></tr><tr><td>18</td><td>tesseract ocr</td><td>Output of block segmenter as an input. Use Anuvaad ocr model as OCR engine. Text collation at word,line and paragraph level.</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-etl/anuvaad-extractor/document-processor/ocr/tesseract">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-etl/anuvaad-extractor/document-processor/ocr/tesseract/doc/ocr-tesseract-api-contract.yml">API Contract</a></td></tr><tr><td>19</td><td>NMT</td><td>This service gets the translated content either by invoking the model directly or fetches translated content from Dhruva platform.</td><td><a href="https://github.com/project-anuvaad/aaib4-inference">GitHub</a></td><td><a href="https://github.com/project-anuvaad/aaib4-inference/tree/main/src/routes">API Contract</a></td></tr><tr><td>20</td><td>metrics</td><td>Display Analytics</td><td><a href="https://github.com/project-anuvaad/anuvaad/tree/master/anuvaad-api/anuvaad-metrics/anuvaad-org-judgement-count">GitHub</a></td><td><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/project-anuvaad/anuvaad/master/anuvaad-api/anuvaad-metrics/anuvaad-org-judgement-count/docs/metrics_contract.yaml">API Contract</a></td></tr></tbody></table>
