# 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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://anuvaad.sunbird.org/modules/modulewise-appendix.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
