📁 Project Structure

├── .github/               # GitHub-specific files (e.g., workflows, issue templates)
├── app/                   # Main application package
│   ├── __init__.py        # App package initializer
│   ├── crud.py/              # CRUD operations
│   ├── database.py/          # Database connection and models
│   ├── logging-config.py/    # Logging configuration
│   ├── main.py            # Application entry point
│   ├── ml-model.py/          # ML model inference logic
│   ├── models.py/            # ORM models
│   └── schemas.py/           # Pydantic schemas for request/response validation
├── data/
│   └── iris.db            # SQLite database file
├── docs/
│   └── index.md           # Documentation homepage (used by MkDocs)
├── env/                   # Environment-specific files or configurations
├── models/
│   └── iris_dtree.joblib  # Serialized ML model
├── scripts/
│   └── train_model.py     # Script to train and save the ML model
├── tests/
│   └── test.py            # Basic test(s) for the application
├── .Dockerfile            # Dockerfile for building the application image
├── .env                   # Environment variable definitions
├── .gitignore             # Git ignore file
├── docker-compose.yml     # Docker Compose configuration
└── mkdocs.yml             # MkDocs configuration for documentation