I'd like to build a website and app to manage my blackberry plants and plan for future growth and expansion. I currently have 40ish plants in the ground growing, these are prime ark freedom blackberries. We are going to pick up 40 prime ark travelers as well. My goal this year is to get 40 travelers growing and through air layering, double the number of freedoms to 80 so that by Nov 1st (estimated first freeze in 72927) we have 80 or more and 40 travelers. Next year, through layering, we want to expand to 1000 plants, the following year, 10,000 or more. Over the next 3 years, we want to start doing you pick operations, once we have a minimum of 300 plants, and also do value add by making homemade jelly, jam, frozen blackberries, selling blackberry plants, making/selling blackberry juice cider. I want to be able to have a way to track each plant individually via scannable barcode or qr code so that we can properly track plant dates, growth rates, cane production, early summer harvest/yield, fall yield, max berry size, max berry sweetness, watering, rainfall, health check assessment, and any other data point we can monitor, at least through the first 2 years. I would eventually like to have a way to scan the plant with a barcode or phone scanner to make it easier to update. eventually we will move from plant tracking to row tracking and averaging but for now can do plant tracking. Needs App needs to track the lifecycle of each plant for now, planting, growth, development, harvest, removal... App needs to track as much weather data as is possible. Daily high, daily low, average temperature, precipitation both amount and type, moon phases, solar activity (cme/flares), extreme weather (thunderstorms, snow, hail, hurricane, tornadic, etc.), air quality, fog, humidity, pressure, essentially anything that can affect growing needs to be tracked. Need to track soil tests and quality Need to track land preparation, clearing, cutting, plowing/tilling/cultivating, amendments and conditioners, need to be able to provide average trends based upon 10 years of historical data for zip code, example last 10 years average high is 90 degrees for 8/15 so if I look in the future "forecast" if there is nothing available via any resources then it will default to the average, same for precipitation if no forecast is available. Want to track sunrise and sunset, hours of sun, cloud cover, UV index, etc. I plan to install solar sensors to try and detect sunlight by batch. Eventually, we'll group plants in batches of 500 plants per "field". Each field will have a solar sensor. I will also eventually have a weather station on the property to collect data in the future so I will either need the ability to integrate data collection to it directly OR will need a way to import logs for the farm (CSV/Excel) into the database easily. I'd like for this data to be stored in a separate table though independenty of official data sources. If official data sources are missing for a given date, then we can create a composite view that will utilize both. The composite view can then be used for forecasting when official data sources are missing. Here are some of the details you will needs website coded in php laravel framework website is currently on a shared hosting inmotion subscription currently use Mysql database wwwhom8_blackberries current tables Table Ascending Action Rows Type Collation Size Overhead air_layers Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 1.0 KiB - alerts Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 1.0 KiB - equipment Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 1.0 KiB - expenses Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 1.0 KiB - farms Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 1 MyISAM latin1_swedish_ci 2.1 KiB - fertilizer_applications Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 1.0 KiB - financial_summary Browse Browse Structure Structure Search Search Insert Insert Edit Edit Drop Drop ~0 View --- - - growth_projections Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 2.0 KiB - harvests Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 4 MyISAM latin1_swedish_ci 5.4 KiB - harvest_summary Browse Browse Structure Structure Search Search Insert Insert Edit Edit Drop Drop ~0 View --- - - labor_logs Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 2.0 KiB - plants Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 40 MyISAM latin1_swedish_ci 12.4 KiB - plant_measurements Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 6 MyISAM latin1_swedish_ci 3.5 KiB - plant_overview Browse Browse Structure Structure Search Search Insert Insert Edit Edit Drop Drop ~0 View --- - - plant_varieties Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 6 MyISAM latin1_swedish_ci 6.0 KiB - production_batches Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 1.0 KiB - qr_codes Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 1.0 KiB - qr_scan_logs Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 1.0 KiB - recipes Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 1.0 KiB - sales Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 2.0 KiB - scheduled_tasks Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 1.0 KiB - soil_tests Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 1.0 KiB - user_settings Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 1.0 KiB - value_add_products Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 14 MyISAM latin1_swedish_ci 3.6 KiB - variety_performance Browse Browse Structure Structure Search Search Insert Insert Edit Edit Drop Drop ~0 View --- - - watering_logs Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 1.0 KiB - weather_data Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 1.0 KiB - weather_historical_averages Browse Browse Structure Structure Search Search Insert Insert Empty Empty Drop Drop 0 MyISAM latin1_swedish_ci 1.0 KiB - All columns COLUMN_NAME DATA_TYPE IS_NULLABLE COLUMN_DEFAULT COLUMN_KEY farm_id int NO NULL PRI farm_name varchar NO NULL location_address text YES NULL latitude decimal YES NULL longitude decimal YES NULL zip_code varchar YES NULL county varchar YES NULL state varchar YES NULL timezone varchar YES 'America/Chicago' first_freeze_estimate date YES NULL growing_season_start date YES NULL growing_season_end date YES NULL usda_zone varchar YES NULL created_at timestamp NO current_timestamp() updated_at timestamp NO current_timestamp() variety_id int NO NULL PRI variety_name varchar NO NULL UNI variety_type varchar YES NULL expected_yield_year1 decimal YES NULL expected_yield_mature decimal YES NULL maturity_days int YES NULL harvest_seasons longtext YES NULL cold_hardiness_zone varchar YES NULL thornless tinyint YES 0 disease_resistance text YES NULL notes text YES NULL created_at timestamp NO current_timestamp() harvest_id int NO NULL PRI plant_id varchar NO NULL MUL harvest_date date NO NULL season varchar NO NULL MUL yield_lbs decimal NO NULL MUL berry_count int YES NULL average_berry_size_mm decimal YES NULL largest_berry_size_mm decimal YES NULL average_sweetness_brix decimal YES NULL berry_quality_grade varchar YES NULL berry_firmness varchar YES NULL color_quality varchar YES NULL flavor_profile text YES NULL harvest_duration_minutes int YES NULL weather_during_harvest text YES NULL harvest_notes text YES NULL harvested_by varchar YES NULL processing_method varchar YES NULL market_destination varchar YES NULL created_at timestamp NO current_timestamp() weather_id int NO NULL PRI farm_id int NO NULL MUL date date NO NULL source varchar NO NULL temperature_high_f decimal YES NULL MUL temperature_low_f decimal YES NULL temperature_avg_f decimal YES NULL feels_like_high_f decimal YES NULL feels_like_low_f decimal YES NULL precipitation_inches decimal YES NULL precipitation_type varchar YES NULL humidity_percent decimal YES NULL humidity_high_percent decimal YES NULL humidity_low_percent decimal YES NULL pressure_mb decimal YES NULL pressure_trend varchar YES NULL wind_speed_mph decimal YES NULL wind_gust_mph decimal YES NULL wind_direction_degrees int YES NULL wind_direction_cardinal varchar YES NULL sunshine_hours decimal YES NULL cloud_cover_percent decimal YES NULL uv_index decimal YES NULL frost tinyint YES 0 hard_freeze tinyint YES 0 snow_inches decimal YES NULL ice_accumulation_inches decimal YES NULL hail tinyint YES 0 hail_size_inches decimal YES NULL thunderstorm tinyint YES 0 severe_thunderstorm tinyint YES 0 tornado_warning tinyint YES 0 tornado_watch tinyint YES 0 air_quality_aqi int YES NULL air_quality_category varchar YES NULL moon_phase varchar YES NULL moon_illumination_percent decimal YES NULL sunrise_time time YES NULL sunset_time time YES NULL daylight_hours decimal YES NULL hours_above_90f decimal YES NULL hours_above_95f decimal YES NULL hours_below_32f decimal YES NULL hours_below_20f decimal YES NULL growing_degree_days decimal YES NULL chill_hours decimal YES NULL heat_stress_hours decimal YES NULL notes text YES NULL data_quality varchar YES NULL created_at timestamp NO current_timestamp() expense_id int NO NULL PRI farm_id int NO NULL MUL expense_date date NO NULL COLUMN_NAME DATA_TYPE IS_NULLABLE COLUMN_DEFAULT COLUMN_KEY category varchar NO NULL MUL subcategory varchar YES NULL description text NO NULL amount decimal NO NULL quantity decimal YES NULL unit_cost decimal YES NULL vendor varchar YES NULL vendor_contact text YES NULL receipt_number varchar YES NULL invoice_number varchar YES NULL payment_method varchar YES NULL payment_date date YES NULL tax_amount decimal YES NULL tax_deductible tinyint YES 1 depreciation_years int YES NULL warranty_info text YES NULL return_policy text YES NULL recurring_expense tinyint YES 0 recurring_frequency varchar YES NULL budget_category varchar YES NULL approval_status varchar YES NULL approved_by varchar YES NULL notes text YES NULL created_at timestamp NO current_timestamp() sale_id int NO NULL PRI farm_id int NO NULL MUL sale_date date NO NULL sale_time time YES NULL customer_name varchar YES NULL MUL customer_email varchar YES NULL customer_phone varchar YES NULL customer_address text YES NULL customer_type varchar YES NULL sale_channel varchar YES NULL sale_type varchar YES NULL item_description text YES NULL product_id int YES NULL MUL batch_id int YES NULL MUL quantity decimal YES NULL unit_of_measure varchar YES NULL unit_price decimal YES NULL discount_percent decimal YES NULL discount_amount decimal YES NULL subtotal decimal YES NULL tax_rate decimal YES NULL tax_amount decimal YES NULL total_amount decimal YES NULL payment_method varchar YES NULL payment_status varchar YES NULL payment_date date YES NULL shipping_cost decimal YES NULL delivery_method varchar YES NULL delivery_date date YES NULL delivery_status varchar YES NULL customer_satisfaction varchar YES NULL repeat_customer tinyint YES 0 referral_source varchar YES NULL notes text YES NULL processed_by varchar YES NULL created_at timestamp NO current_timestamp() avg_id int NO NULL PRI farm_id int NO NULL MUL day_of_year int NO NULL week_of_year int NO NULL month_of_year int NO NULL avg_high_f decimal YES NULL avg_low_f decimal YES NULL avg_precipitation_inches decimal YES NULL avg_humidity_percent decimal YES NULL record_high_f decimal YES NULL record_low_f decimal YES NULL record_high_year int YES NULL record_low_year int YES NULL frost_probability_percent decimal YES NULL years_of_data int YES NULL last_updated date YES NULL layer_id int NO NULL PRI parent_plant_id varchar NO NULL MUL layer_date_started date NO NULL expected_separation_date date YES NULL actual_separation_date date YES NULL success tinyint YES NULL new_plant_id varchar YES NULL MUL rooting_method varchar YES NULL rooting_hormone_used varchar YES NULL rooting_medium varchar YES NULL moisture_retention_method varchar YES NULL location_on_cane varchar YES NULL cane_diameter_mm decimal YES NULL success_rate_expected_percent decimal YES NULL root_development_stage varchar YES NULL separation_readiness varchar YES NULL success_notes text YES NULL failure_reason text YES NULL lessons_learned text YES NULL created_at timestamp NO current_timestamp() watering_id int NO NULL PRI plant_id varchar YES NULL MUL farm_area varchar YES NULL watering_date date NO NULL COLUMN_NAME DATA_TYPE IS_NULLABLE COLUMN_DEFAULT COLUMN_KEY watering_time time YES NULL water_amount_inches decimal YES NULL water_amount_gallons decimal YES NULL watering_method varchar YES NULL duration_minutes int YES NULL water_pressure_psi decimal YES NULL water_source varchar YES NULL water_temperature_f decimal YES NULL soil_moisture_before varchar YES NULL soil_moisture_after varchar YES NULL penetration_depth_inches decimal YES NULL runoff_observed tinyint YES 0 weather_conditions text YES NULL irrigation_efficiency_rating varchar YES NULL notes text YES NULL watered_by varchar YES NULL created_at timestamp NO current_timestamp() application_id int NO NULL PRI plant_id varchar YES NULL MUL farm_area varchar YES NULL application_date date NO NULL fertilizer_brand varchar YES NULL fertilizer_type varchar YES NULL npk_ratio varchar YES NULL micronutrients longtext YES NULL application_rate_per_plant varchar YES NULL application_rate_per_sqft varchar YES NULL total_amount_used varchar YES NULL application_method varchar YES NULL dilution_ratio varchar YES NULL soil_ph_before decimal YES NULL soil_ph_after decimal YES NULL weather_conditions text YES NULL soil_temperature_f decimal YES NULL cost_per_application decimal YES NULL total_cost decimal YES NULL supplier varchar YES NULL batch_number varchar YES NULL expiration_date date YES NULL application_equipment varchar YES NULL notes text YES NULL applied_by varchar YES NULL created_at timestamp NO current_timestamp() test_id int NO NULL PRI farm_id int NO NULL MUL test_date date NO NULL location_description text YES NULL sample_depth_inches varchar YES NULL sample_size varchar YES NULL ph_level decimal YES NULL ph_buffer varchar YES NULL nitrogen_ppm decimal YES NULL phosphorus_ppm decimal YES NULL potassium_ppm decimal YES NULL calcium_ppm decimal YES NULL magnesium_ppm decimal YES NULL sulfur_ppm decimal YES NULL iron_ppm decimal YES NULL manganese_ppm decimal YES NULL zinc_ppm decimal YES NULL copper_ppm decimal YES NULL boron_ppm decimal YES NULL organic_matter_percent decimal YES NULL cation_exchange_capacity decimal YES NULL base_saturation_percent decimal YES NULL soil_texture varchar YES NULL drainage_assessment varchar YES NULL compaction_level varchar YES NULL earthworm_count int YES NULL microbial_activity varchar YES NULL testing_lab varchar YES NULL test_method varchar YES NULL recommendations text YES NULL cost decimal YES NULL follow_up_date date YES NULL created_at timestamp NO current_timestamp() labor_id int NO NULL PRI farm_id int NO NULL MUL work_date date NO NULL start_time time YES NULL end_time time YES NULL worker_name varchar YES NULL MUL worker_type varchar YES NULL worker_skill_level varchar YES NULL hours_worked decimal NO NULL hourly_rate decimal YES NULL overtime_hours decimal YES NULL overtime_rate decimal YES NULL task_category varchar YES NULL task_description text YES NULL plants_worked text YES NULL area_worked varchar YES NULL tools_used text YES NULL equipment_used text YES NULL weather_conditions text YES NULL productivity_rating varchar YES NULL quality_rating varchar YES NULL total_cost decimal YES NULL benefits_cost decimal YES NULL break_time_minutes int YES NULL COLUMN_NAME DATA_TYPE IS_NULLABLE COLUMN_DEFAULT COLUMN_KEY training_time_minutes int YES NULL safety_incident tinyint YES 0 safety_notes text YES NULL notes text YES NULL supervised_by varchar YES NULL created_at timestamp NO current_timestamp() variety_name varchar NO NULL plant_count bigint NO 0 avg_age_days decimal YES NULL avg_height_cm decimal YES NULL avg_health_score decimal YES NULL total_yield_lbs decimal YES NULL avg_yield_per_harvest decimal YES NULL total_harvests bigint NO 0 product_id int NO NULL PRI product_name varchar NO NULL product_type varchar YES NULL product_category varchar YES NULL berry_pounds_required decimal YES NULL recipe_id int YES NULL production_cost_per_unit decimal YES NULL labor_cost_per_unit decimal YES NULL material_cost_per_unit decimal YES NULL packaging_cost_per_unit decimal YES NULL retail_price decimal YES NULL wholesale_price decimal YES NULL farmers_market_price decimal YES NULL online_price decimal YES NULL bulk_price decimal YES NULL shelf_life_days int YES NULL storage_requirements text YES NULL packaging_description text YES NULL weight_per_unit decimal YES NULL dimensions varchar YES NULL barcode varchar YES NULL nutrition_info longtext YES NULL allergen_info text YES NULL certifications text YES NULL seasonal_availability longtext YES NULL target_market text YES NULL created_at timestamp NO current_timestamp() batch_id int NO NULL PRI product_id int NO NULL MUL farm_id int NO NULL MUL batch_number varchar YES NULL UNI production_date date NO NULL harvest_ids longtext YES NULL berries_used_lbs decimal YES NULL other_ingredients longtext YES NULL recipe_version varchar YES NULL units_produced int YES NULL units_packaged int YES NULL units_sold int YES NULL units_remaining int YES NULL production_cost decimal YES NULL labor_hours decimal YES NULL energy_cost decimal YES NULL equipment_used text YES NULL production_location varchar YES NULL batch_notes text YES NULL quality_grade varchar YES NULL quality_control_notes text YES NULL production_start_time timestamp NO current_timestamp() production_end_time timestamp NO '0000-00-00 00:00:00' packaging_date date YES NULL expiration_date date YES NULL storage_location varchar YES NULL temperature_log longtext YES NULL produced_by varchar YES NULL quality_checked_by varchar YES NULL created_at timestamp NO current_timestamp() projection_id int NO NULL PRI farm_id int NO NULL MUL projection_year int NO NULL scenario_name varchar YES NULL target_plant_count int YES NULL target_paf_count int YES NULL target_pat_count int YES NULL target_chester_count int YES NULL target_ouchita_count int YES NULL target_arapaho_count int YES NULL target_apache_count int YES NULL expected_air_layers int YES NULL air_layer_success_rate_percent decimal YES NULL new_plants_from_nursery int YES NULL plant_mortality_rate_percent decimal YES NULL projected_spring_yield_lbs decimal YES NULL projected_summer_yield_lbs decimal YES NULL projected_fall_yield_lbs decimal YES NULL projected_total_yield_lbs decimal YES NULL fresh_sales_percent decimal YES NULL value_add_percent decimal YES NULL upick_percent decimal YES NULL plant_sales_count int YES NULL projected_fresh_revenue decimal YES NULL projected_value_add_revenue decimal YES NULL projected_upick_revenue decimal YES NULL projected_plant_sales_revenue decimal YES NULL projected_total_revenue decimal YES NULL projected_plant_expenses decimal YES NULL COLUMN_NAME DATA_TYPE IS_NULLABLE COLUMN_DEFAULT COLUMN_KEY projected_labor_expenses decimal YES NULL projected_supply_expenses decimal YES NULL projected_equipment_expenses decimal YES NULL projected_processing_expenses decimal YES NULL projected_marketing_expenses decimal YES NULL projected_total_expenses decimal YES NULL projected_net_profit decimal YES NULL roi_percent decimal YES NULL break_even_point_lbs decimal YES NULL assumptions text YES NULL risk_factors text YES NULL notes text YES NULL created_by varchar YES NULL reviewed_by varchar YES NULL approved tinyint YES 0 created_at timestamp NO current_timestamp() scan_id int NO NULL PRI qr_id int NO NULL MUL plant_id varchar NO NULL MUL scan_date date NO NULL scan_time time NO NULL scanned_by varchar YES NULL scan_device varchar YES NULL scan_app varchar YES NULL scan_location text YES NULL scan_purpose varchar YES NULL follow_up_action text YES NULL notes text YES NULL created_at timestamp NO current_timestamp() setting_id int NO NULL PRI farm_id int YES NULL MUL user_id varchar YES NULL setting_category varchar YES NULL setting_key varchar NO NULL setting_value text YES NULL setting_type varchar YES NULL default_value text YES NULL description text YES NULL editable tinyint YES 1 created_at timestamp NO current_timestamp() updated_at timestamp NO current_timestamp() task_id int NO NULL PRI farm_id int NO NULL MUL task_name varchar NO NULL task_category varchar YES NULL task_description text YES NULL plant_id varchar YES NULL MUL task_priority varchar YES 'medium' scheduled_date date NO NULL scheduled_time time YES NULL estimated_duration_minutes int YES NULL recurring tinyint YES 0 recurring_frequency varchar YES NULL recurring_interval int YES NULL weather_dependent tinyint YES 0 weather_conditions text YES NULL temperature_range varchar YES NULL assigned_to varchar YES NULL status varchar YES 'pending' completed_date date YES NULL completed_by varchar YES NULL actual_duration_minutes int YES NULL completion_notes text YES NULL next_due_date date YES NULL created_at timestamp NO current_timestamp() equipment_id int NO NULL PRI farm_id int NO NULL MUL equipment_name varchar NO NULL equipment_type varchar YES NULL equipment_category varchar YES NULL brand varchar YES NULL model varchar YES NULL serial_number varchar YES NULL purchase_date date YES NULL purchase_price decimal YES NULL vendor varchar YES NULL warranty_expiration date YES NULL condition_rating varchar YES NULL location varchar YES NULL usage_hours decimal YES NULL maintenance_due_date date YES NULL last_maintenance_date date YES NULL maintenance_notes text YES NULL operating_cost_per_hour decimal YES NULL fuel_type varchar YES NULL notes text YES NULL active tinyint YES 1 created_at timestamp NO current_timestamp() recipe_id int NO NULL PRI recipe_name varchar NO NULL product_type varchar YES NULL version varchar YES '1.0' ingredients longtext YES NULL instructions text YES NULL prep_time_minutes int YES NULL cook_time_minutes int YES NULL total_time_minutes int YES NULL yield_amount varchar YES NULL difficulty_level varchar YES NULL equipment_needed text YES NULL storage_instructions text YES NULL shelf_life_days int YES NULL nutritional_info longtext YES NULL allergen_warnings text YES NULL cost_per_batch decimal YES NULL notes text YES NULL created_by varchar YES NULL tested tinyint YES 0 test_results text YES NULL approved tinyint YES 0 approved_by varchar YES NULL created_at timestamp NO current_timestamp() plant_id varchar NO NULL PRI farm_id int YES NULL MUL variety_id int YES NULL MUL parent_plant_id varchar YES NULL MUL propagation_method varchar YES NULL planted_date date NO NULL MUL location_row varchar YES NULL MUL location_position varchar YES NULL coordinates_lat decimal YES NULL coordinates_lng decimal YES NULL status varchar YES 'active' MUL source varchar YES NULL initial_height_cm decimal YES NULL initial_cost decimal YES NULL qr_code_generated tinyint YES 0 notes text YES NULL created_at timestamp NO current_timestamp() updated_at timestamp NO current_timestamp() qr_id int NO NULL PRI plant_id varchar NO NULL MUL qr_data text NO NULL qr_image_path varchar YES NULL qr_image_url text YES NULL qr_format varchar YES NULL qr_size varchar YES NULL qr_error_correction varchar YES NULL generated_date date NO NULL generated_by varchar YES NULL printed tinyint YES 0 print_date date YES NULL print_quality varchar YES NULL laminated tinyint YES 0 weatherproof tinyint YES 0 label_type varchar YES NULL label_location text YES NULL scan_count int YES 0 last_scanned_date timestamp YES NULL active tinyint YES 1 replacement_of_qr_id int YES NULL notes text YES NULL created_at timestamp NO current_timestamp() harvest_year int YES NULL season varchar NO NULL harvest_count bigint NO 0 total_yield_lbs decimal YES NULL avg_yield_per_plant decimal YES NULL min_yield decimal YES NULL max_yield decimal YES NULL avg_berry_size_mm decimal YES NULL avg_sweetness_brix decimal YES NULL alert_id int NO NULL PRI farm_id int NO NULL MUL alert_type varchar YES NULL priority varchar YES 'medium' MUL status varchar YES 'active' title varchar NO NULL message text NO NULL plant_id varchar YES NULL MUL alert_date date NO NULL alert_time time YES NULL trigger_condition text YES NULL action_required text YES NULL deadline_date date YES NULL assigned_to varchar YES NULL resolved tinyint YES 0 resolved_date date YES NULL resolved_by varchar YES NULL resolution_notes text YES NULL escalation_level int YES 1 notification_sent tinyint YES 0 notification_method varchar YES NULL created_at timestamp NO current_timestamp() measurement_id int NO NULL PRI plant_id varchar NO NULL MUL measurement_date date NO NULL height_cm decimal YES NULL cane_count_primary int YES NULL cane_count_secondary int YES NULL cane_length_avg_cm decimal YES NULL leaf_health varchar YES NULL max_berry_size_mm decimal YES NULL berry_sweetness_brix decimal YES NULL health_score decimal YES NULL flowering_stage varchar YES NULL pest_issues longtext YES NULL disease_issues longtext YES NULL growth_vigor varchar YES NULL root_development varchar YES NULL COLUMN_NAME DATA_TYPE IS_NULLABLE COLUMN_DEFAULT COLUMN_KEY winter_hardiness_observed varchar YES NULL drought_tolerance_observed varchar YES NULL growth_notes text YES NULL weather_conditions text YES NULL measured_by varchar YES NULL measurement_method varchar YES NULL created_at timestamp NO current_timestamp() plant_id varchar NO NULL planted_date date NO NULL variety_name varchar YES NULL location_row varchar YES NULL location_position varchar YES NULL status varchar YES 'active' age_days int YES NULL current_height_cm decimal YES NULL current_health_score decimal YES NULL total_yield_lbs decimal YES NULL harvest_count bigint NO 0 expense_year int YES NULL category varchar NO NULL subcategory varchar YES NULL transaction_count bigint NO 0 total_expenses decimal YES NULL avg_expense decimal YES NULL site url is https://blackberries.homesteadingoutlaws.com sample .env file running on same server APP_NAME="County Chamber of Commerce" APP_ENV=local APP_KEY=base64:3VGeKnGGWYI8I4n+SbUuKNXMKPvjXck3s6m8G8qq0P8= APP_DEBUG=true APP_URL=https://site.chamberofcommerce.homesteadingoutlaws.com LOG_CHANNEL=stack LOG_DEPRECATIONS_CHANNEL=null LOG_LEVEL=debug DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=wwwhom8_coc DB_USERNAME=wwwhom8_main DB_PASSWORD=Malyvn05$ BROADCAST_DRIVER=log CACHE_DRIVER=file FILESYSTEM_DISK=local QUEUE_CONNECTION=sync SESSION_DRIVER=file SESSION_LIFETIME=120 MEMCACHED_HOST=127.0.0.1 REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_MAILER=smtp MAIL_HOST=mailpit MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS="hello@example.com" MAIL_FROM_NAME="${APP_NAME}" AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET= AWS_USE_PATH_STYLE_ENDPOINT=false PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_HOST= PUSHER_PORT=443 PUSHER_SCHEME=https PUSHER_APP_CLUSTER=mt1 VITE_APP_NAME="${APP_NAME}" VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}" VITE_PUSHER_HOST="${PUSHER_HOST}" VITE_PUSHER_PORT="${PUSHER_PORT}" VITE_PUSHER_SCHEME="${PUSHER_SCHEME}" VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" OPENWEATHER_API_KEY= 8a9593124a5e205996ca00deaa857b0d WEATHERAPI_KEY=your_weatherapi_key_here # Weather API Configuration WEATHER_CITY=Booneville,AR,US WEATHER_REFRESH_INTERVAL=600000 let's begin project first by laying out all deliverables and to do items. Project Goal Create a PHP Laravel website + mobile app to manage and track blackberry plants, expansion, production, and sales — with the ability to track each plant via QR/barcode, monitor growth/yield/health, and support long-term scalability into thousands of plants, U-Pick operations, and value-added products. A. Core Deliverables 1. Plant Tracking & QR Integration QR/Barcode Generation for each plant (Prime Ark Freedom, Prime Ark Traveler, future varieties). QR Scanning Interface (mobile & desktop compatible). Plant Profile Page: Shows growth history, yields, health, watering, fertilization, and notes. Measurement Logging (height, cane count, berry size, sweetness, health score, etc.). Status Management (active, removed, dormant). Air Layering Tracking (link parent plant to offspring, track success/fail rates). 2. Row & Area Tracking (Future) Transition from plant-level to row-level summaries. Batch measurement logging for rows. 3. Farm Operations Management Watering Logs (date, method, quantity, weather conditions). Fertilizer Application Logs (type, rate, cost, soil pH changes). Soil Test Records. Labor Logs (who worked, tasks, hours, costs). Equipment Tracking (purchase, maintenance, usage). Weather Tracking (integrate OpenWeather API & historical data). 4. Harvest Management Record yields per plant/row. Record berry size, sweetness, quality grades. Log harvest date, duration, and workers. Link harvest batches to value-added production. 5. Growth Projection & Planning Projection tools for plant expansion (40 → 80 → 1000 → 10,000 plants). Yield forecasts by year/season. Financial projections (revenue, costs, net profit). 6. Sales & Value-Added Product Tracking Product database (jams, jellies, frozen berries, juice, plants, etc.). Batch tracking (link product batches to harvests). Sales logging (customer, quantity, price, channel). Inventory tracking for fresh & processed goods. 7. Alerts & Notifications Task reminders (fertilizing, watering, harvest windows). Freeze/frost warnings based on zip code (first freeze date Nov 1 for 72927). Low inventory or maintenance alerts. 8. User Interface Website (Laravel) — accessible on desktop & mobile. Mobile App (possibly Laravel API + Flutter or React Native frontend). Role-based Access (admin, worker, seasonal help). Dashboard views (plants, harvests, weather, tasks). 9. Reports & Analytics Yield trends per plant/variety. Profitability reports. Labor cost breakdown. Equipment usage & cost tracking. Weather/yield correlation analysis. 10. System Setup & Infrastructure Laravel backend connected to your MySQL database. Secure login/authentication. Backup & restore processes. API integration for: Weather data. QR code generation/printing. B. To-Do List / Development Roadmap Phase 1 – Foundation & Setup Confirm Laravel project setup on shared hosting. Clone database structure into dev environment. Connect Laravel to existing wwwhom8_blackberries database. Set up authentication system. Configure environment variables (.env) for DB + API keys. Install QR code package (e.g., simplesoftwareio/simple-qrcode). Phase 2 – Core Plant Tracking Build plant list view + search/filter. Build plant detail view (with tabs for measurements, harvests, watering, etc.). Create QR generation system & link to each plant. Create QR scan endpoint (mobile-friendly form). Build plant measurement entry form. Phase 3 – Operations Modules Watering logs module. Fertilizer logs module. Soil test records. Air layering module. Labor & equipment logs. Phase 4 – Harvest & Production Harvest entry form. Batch processing module for value-add products. Link products to harvest records. Sales tracking system. Phase 5 – Projections & Reports Growth projections module. Yield analysis reports. Financial projections & profitability reports. Phase 6 – Alerts & Notifications Set up freeze/frost alert system. Task scheduling & reminders. Low inventory/product expiration alerts. Phase 7 – Mobile App Build API endpoints in Laravel for mobile. Develop mobile app (Flutter or React Native). Integrate QR scanning into app. Offline mode for field use. Phase 8 – Launch & Scale Deploy updated Laravel site. Train users (workers/family). Prepare for 1000-plant scale. Set up row-based tracking migration.