Data Farm is an intelligent desktop application developed as part of the Esprit School of Engineering university project.
The platform aims to revolutionize agricultural management through modern technologies by integrating:
- ✅ Digital farm management system
- ✅ Intelligent automation of crops, lands, and resources
- ✅ Artificial Intelligence (YOLOv8) for plant disease and weed detection
- ✅ Sustainable Development Goals (SDG) tracking and implementation
Data Farm actively contributes to the UN's Sustainable Development Goals:
- Promotion of renewable energy from recycled agricultural waste (biogas)
- Sustainable management of agricultural resources
- Resource optimization and waste reduction
- Efficient agricultural waste management with intelligent recycling processes
- Promotion of renewable energy and circular economy solutions
- Reduction of environmental impacts through intelligent and sustainable management
- Multi-role system (Admin, Farmer, Client, Worker)
- Authentication with secure login/signup
- Password reset functionality
- Digital parcel creation with precise geolocation
- Real-time temperature monitoring via Weather API
- Crop selection and monitoring tailored to land specifications
- Agricultural product listing and e-commerce functionality
- Order processing and tracking
- Sales statistics and reporting
- Agricultural waste declaration and tracking
- Intelligent recycling allocation
- Waste collection PDF reports
- Equipment listing and availability tracking
- Reservation system for workers
- SMS notifications for reservation confirmations
- Claim/support ticket system
- Email notifications for product sales
- QR code generation for orders
- YOLOv8 Disease Detection: Identifies unhealthy plants and crops
- YOLOv8 Weed Classification: Distinguishes between harmful and beneficial weeds
- Java 17+
- JavaFX for modern UI
- Scene Builder for UI design
- FXML for UI structure
- MySQL database
- Hibernate ORM for database mapping
- Python 3.8+ (integrated via ProcessBuilder)
- Ultralytics YOLOv8
- DJL (Deep Java Library) for AI integration
- OpenCV for image processing
- OkHttp/Retrofit for REST API calls
- Weather API (geolocation and real-time temperature)
- JavaMail API for email notifications
- Twilio API for SMS services
- ZXing for QR code generation
- iText for PDF generation
- Maven
- Git for version control
- JDK 17 or higher
- MySQL 8.0+
- Python 3.8+ (for AI features)
- Maven 3.6+
# Clone repository
git clone https://github.com/your-username/data-farm.git
cd data-farm
# Build the project with Maven
mvn clean install
# Run the application
mvn javafx:run-- Create database
CREATE DATABASE datafarm_db;
-- Create user and grant privileges
CREATE USER 'datafarm_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON datafarm_db.* TO 'datafarm_user'@'localhost';
FLUSH PRIVILEGES;# Install Python 3.8+ from https://www.python.org/downloads/
# Create and activate virtual environment
python -m venv venv
# On Windows
venv\Scripts\activate
# On macOS/Linux
source venv/bin/activate
# Update pip
pip install --upgrade pip
# Install Ultralytics (YOLOv8)
pip install ultralytics
# Install other dependencies
pip install opencv-python numpy pillow
# Verify installation
yolo- Create your account and set up your farm profile
- Add and manage your land parcels with geolocation
- Select appropriate crops based on land characteristics
- Monitor real-time weather conditions
- List agricultural products for sale
- Manage equipment and waste recycling
- Browse available agricultural products
- Place orders with secure checkout
- Track order status
- View available equipment
- Make reservations for needed tools
- Receive SMS confirmations
- Manage user accounts and permissions
- Handle support tickets and claims
- Access comprehensive statistics and reports
data-farm/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── edy/connection/
│ │ │ ├── app/ # Main application
│ │ │ ├── controller/ # JavaFX controllers
│ │ │ ├── model/ # Data models
│ │ │ ├── dao/ # Data access objects
│ │ │ ├── service/ # Business logic
│ │ │ ├── util/ # Utility classes
│ │ │ └── ai/ # AI integration
│ │ ├── resources/
│ │ │ ├── fxml/ # UI layout files
│ │ │ ├── css/ # Stylesheets
│ │ │ ├── images/ # Images and icons
│ │ │ └── python/ # Python scripts for AI
│ │ └── META-INF/
│ └── test/ # Unit tests
├── pom.xml # Maven configuration
└── README.md
# Start the application with Maven
mvn javafx:run
# Run AI services separately if needed
cd src/main/resources/python
python run_detection.py# Run tests with Maven
mvn testWe welcome contributions to the Data Farm project!
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Esprit School of Engineering for project guidance
- YOLOv8 and Ultralytics for AI vision capabilities
- All contributors who have helped shape this project
Developed with ❤️ by the Data Farm Team
