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 test
We 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