# NABTA — نبتة | Algerian Agronomic Assistant
NABTA is a comprehensive agronomic application ecosystem designed explicitly for Algerian farmers. It leverages state-of-the-art artificial intelligence models for both crop disease diagnosis and a conversational agronomy assistant fluent in Algerian Darija.
Built with **Expo (React Native)** for the frontend and **FastAPI / Django** for its backend microservices, NABTA brings production-grade AI directly to the field.
---
## 📂 Path Guide & Project Structure
The project is structured into a modular monorepo containing the mobile application, web fallbacks, and backend microservices.
```text
green/
├── app/ # Expo Router App Directory (Mobile Frontend Pages)
│ ├── (tabs)/ # Tabbed navigation screens (Home, Chat, Profile)
│ ├── diagnosis.tsx # Disease Diagnosis Interface
│ ├── login.tsx # User Authentication Flow
│ ├── sheet/ # Crop-specific detailed pages
│ └── _layout.tsx # Root layout and global providers
├── components/ # Reusable UI Components
│ ├── auth/ # Login sub-components (CapsuleToggle, OtpInput)
│ ├── VoiceOverlay.tsx # Interactive voice recording UI with animations
│ └── TypingIndicator.tsx
├── constants/ # Global Constants
│ ├── colors.ts # App design system and color tokens
│ ├── crops.ts # Crop metadata and static registries
│ └── i18n.ts # Localization strings and types
├── domain/ # Domain Layer (Clean Architecture)
│ ├── entities/ # Core business models (Crop.ts, ChatMessage.ts)
│ ├── repositories/ # Repository interfaces (ICropRepository, IAuthRepository)
│ └── usecases/ # Application business logic (LoginWithEmail, RequestOtp)
├── data/ # Data Layer (Clean Architecture)
│ ├── repositories/ # Concrete implementations of repositories
│ └── sources/ # External API clients (axiosInstance)
├─ …