## 🏗️ Project Structure ```bash AI-Checker/ │ ├── app.py # Main FastAPI entry point ├── config.py # Configuration settings ├── Dockerfile # Docker build script ├── Procfile # Deployment entry for platforms like Heroku/Railway ├── requirements.txt # Python dependency list ├── README.md # Main project overview 📘 │ ├── features/ # Core AI content detection modules │ ├── image_classifier/ # Classifies AI vs Real images │ │ ├── controller.py │ │ ├── model_loader.py │ │ └── preprocess.py │ ├── image_edit_detector/ # Detects tampered or edited images │ ├── nepali_text_classifier/ # Classifies Nepali text as AI or Human │ │ ├── controller.py │ │ ├── inferencer.py │ │ ├── model_loader.py │ │ └── preprocess.py │ └── text_classifier/ # Classifies English text as AI or Human │ ├── controller.py │ ├── inferencer.py │ ├── model_loader.py │ └── preprocess.py │ ├── docs/ # Internal documentation and API references │ ├── api_endpoints.md │ ├── deployment.md │ ├── detector/ │ │ ├── ELA.md │ │ ├── fft.md │ │ ├── meta.md │ │ └── note-for-backend.md │ ├── features/ │ │ ├── image_classifier.md │ │ ├── nepali_text_classifier.md │ │ └── text_classifier.md │ ├── functions.md │ ├── nestjs_integration.md │ ├── security.md │ ├── setup.md │ └── structure.md │ ├── IMG_Models/ # Stored model weights │ └── latest-my_cnn_model.h5 │ ├── notebooks/ # Experimental/debug Jupyter notebooks ├── static/ # Static files (e.g., UI assets, test inputs) └── test.md # Test usage notes ``` ### 🌟 Key Files and Their Roles - **`app.py`**: Entry point initializing FastAPI app and routes. - **`Procfile`**: Tells Railway (or similar platforms) how to run the program. - **`requirements.txt`**: Tracks all Python dependencies for the project. - **`__init__.py`**: Package initializer for the root module and submodules. - **`features/text_classifier/`** - **`controller.py`**: Handles logic between routes and the model. - **`inferencer.py`**: Runs inference and returns predictions as well as file system utilities. - **`features/NP/`** - **`controller.py`**: Handles logic between routes and the model. - **`inferencer.py`**: Runs inference and returns predictions as well as file system utilities. - **`model_loader.py`**: Loads the ML model and tokenizer. - **`preprocess.py`**: Prepares input text for the model. - **`routes.py`**: Defines API routes for text classification. [🔙 Back to Main README](../README.md)