Digi-Biz / docs /PROJECT_STRUCTURE.md
Deployment Bot
Automated deployment to Hugging Face
255cbd1
# Digi-Biz Project Structure
digi-biz/
β”œβ”€β”€ backend/
β”‚ β”œβ”€β”€ __init__.py
β”‚ β”œβ”€β”€ main.py # FastAPI app entry point
β”‚ β”œβ”€β”€ config/
β”‚ β”‚ β”œβ”€β”€ __init__.py
β”‚ β”‚ └── settings.py # Pydantic settings loader
β”‚ β”œβ”€β”€ agents/
β”‚ β”‚ β”œβ”€β”€ __init__.py
β”‚ β”‚ β”œβ”€β”€ file_discovery.py # Agent 1: ZIP extraction & classification
β”‚ β”‚ β”œβ”€β”€ document_parsing.py # Agent 2: PDF/DOCX parsing
β”‚ β”‚ β”œβ”€β”€ table_extraction.py # Agent 3: Table detection
β”‚ β”‚ β”œβ”€β”€ media_extraction.py # Agent 4: Image/video extraction
β”‚ β”‚ β”œβ”€β”€ vision_agent.py # Agent 5: Qwen vision analysis
β”‚ β”‚ β”œβ”€β”€ indexing.py # Agent 6: Page index builder
β”‚ β”‚ β”œβ”€β”€ schema_mapping.py # Agent 7: Groq schema mapping
β”‚ β”‚ └── validation.py # Agent 8: Profile validation
β”‚ β”œβ”€β”€ parsers/
β”‚ β”‚ β”œβ”€β”€ __init__.py
β”‚ β”‚ β”œβ”€β”€ pdf_parser.py
β”‚ β”‚ β”œβ”€β”€ docx_parser.py
β”‚ β”‚ β”œβ”€β”€ excel_parser.py
β”‚ β”‚ └── parser_factory.py
β”‚ β”œβ”€β”€ indexing/
β”‚ β”‚ β”œβ”€β”€ __init__.py
β”‚ β”‚ β”œβ”€β”€ index_builder.py
β”‚ β”‚ β”œβ”€β”€ keyword_extractor.py
β”‚ β”‚ └── retriever.py
β”‚ β”œβ”€β”€ validation/
β”‚ β”‚ β”œβ”€β”€ __init__.py
β”‚ β”‚ β”œβ”€β”€ schema_validator.py
β”‚ β”‚ └── completeness.py
β”‚ β”œβ”€β”€ models/
β”‚ β”‚ β”œβ”€β”€ __init__.py
β”‚ β”‚ β”œβ”€β”€ schemas.py # Pydantic data models
β”‚ β”‚ └── enums.py # FileType, TableType, etc.
β”‚ β”œβ”€β”€ utils/
β”‚ β”‚ β”œβ”€β”€ __init__.py
β”‚ β”‚ β”œβ”€β”€ logger.py
β”‚ β”‚ β”œβ”€β”€ file_classifier.py
β”‚ β”‚ β”œβ”€β”€ storage_manager.py
β”‚ β”‚ β”œβ”€β”€ text_utils.py
β”‚ β”‚ β”œβ”€β”€ table_utils.py
β”‚ β”‚ β”œβ”€β”€ media_utils.py
β”‚ β”‚ β”œβ”€β”€ groq_client.py # Groq API wrapper
β”‚ β”‚ └── ollama_client.py # Ollama API wrapper
β”‚ └── pipelines/
β”‚ β”œβ”€β”€ __init__.py
β”‚ └── digitization_pipeline.py # Main orchestrator
β”œβ”€β”€ frontend/
β”‚ β”œβ”€β”€ src/
β”‚ β”‚ β”œβ”€β”€ components/
β”‚ β”‚ β”œβ”€β”€ pages/
β”‚ β”‚ β”œβ”€β”€ hooks/
β”‚ β”‚ └── types/
β”‚ └── package.json
β”œβ”€β”€ storage/ # Created at runtime
β”‚ β”œβ”€β”€ uploads/
β”‚ β”œβ”€β”€ extracted/
β”‚ β”œβ”€β”€ profiles/
β”‚ β”œβ”€β”€ index/
β”‚ └── temp/
β”œβ”€β”€ tests/
β”‚ β”œβ”€β”€ __init__.py
β”‚ β”œβ”€β”€ conftest.py # Pytest fixtures
β”‚ β”œβ”€β”€ agents/
β”‚ β”‚ β”œβ”€β”€ test_file_discovery.py
β”‚ β”‚ β”œβ”€β”€ test_document_parsing.py
β”‚ β”‚ └── ...
β”‚ β”œβ”€β”€ parsers/
β”‚ β”œβ”€β”€ utils/
β”‚ └── fixtures/ # Test data
β”‚ β”œβ”€β”€ sample_business_1/
β”‚ └── sample_business_2/
β”œβ”€β”€ docs/
β”‚ β”œβ”€β”€ API.md
β”‚ └── USER_MANUAL.md
β”œβ”€β”€ .env.example
β”œβ”€β”€ .env # (gitignored - your actual config)
β”œβ”€β”€ .gitignore
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ pytest.ini
β”œβ”€β”€ mypy.ini
└── README.md