A web application enabling two-way communication between farmers and Village Extension Officers (VEOs) in Tanzania's agriculture system.
# AGRICOM - Agricultural Communication Platform
A comprehensive web application enabling two-way communication between farmers and Village Extension Officers (VEOs) in Tanzania's agriculture system. This platform facilitates knowledge sharing, real-time communication, and agricultural information dissemination.
## 🌟 Features
### Core Functionality
- **User Management**: Multi-role system (Farmers, VEOs, Administrators)
- **Article System**: Publish and manage agricultural content with categorization
- **Real-time Chat**: Direct messaging between users with file sharing
- **Notification System**: Real-time alerts for new content and interactions
- **Activity Logging**: Comprehensive audit trail of user actions
- **Profile Management**: Detailed user profiles with farming information
- **Regional Organization**: Tanzania-based regional and village structure
- **Crop Management**: Track farmer crops and agricultural activities
### User Roles
- **Farmers**: Access relevant articles, participate in discussions, manage profiles
- **Village Extension Officers (VEOs)**: Create articles, manage content, communicate with farmers
- **Administrators**: Full system management, user administration, analytics
## ⚙️ Tech Stack
- **Backend**: Laravel 12.x (PHP 8.2+)
- **Database**: PostgreSQL / MySQL
- **Frontend**: Blade Templates, Bootstrap 5, JavaScript
- **Real-time**: Pusher WebSockets
- **Authentication**: Laravel Sanctum
- **File Handling**: Intervention Image
- **Activity Logging**: Spatie Laravel Activity Log
- **Development**: Vite, NPM
## 🚀 Project Setup
### Prerequisites
- PHP 8.2 or higher
- Composer
- Node.js & NPM
- PostgreSQL or MySQL
- Git
### Environment Setup
1. Clone the repository:
```bash
git clone
cd agricom
```
2. Install PHP dependencies:
```bash
composer install
```
3. Install frontend dependencies:
```bash
npm install
npm install pusher-js laravel-echo
```
4. Copy environment file:
```bash
cp .env.example .env
```
5. Generate application key:
` …