beep
This commit is contained in:
36
apps/web/scripts/verify-images.py
Normal file
36
apps/web/scripts/verify-images.py
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Verify all plant image URLs work."""
|
||||
import json
|
||||
import urllib.parse
|
||||
import urllib.request
|
||||
import urllib.error
|
||||
import time
|
||||
import sys
|
||||
|
||||
with open('src/data/plants.json') as f:
|
||||
plants = json.load(f)
|
||||
|
||||
def check_url(url):
|
||||
time.sleep(0.5)
|
||||
req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
|
||||
try:
|
||||
resp = urllib.request.urlopen(req, timeout=10)
|
||||
ct = resp.headers.get('Content-Type', '')
|
||||
cl = resp.headers.get('Content-Length', '?')
|
||||
if 'image' in ct:
|
||||
return (True, f'HTTP {resp.status} {ct} {cl}B')
|
||||
return (False, f'not image: {ct}')
|
||||
except urllib.error.HTTPError as e:
|
||||
return (False, f'HTTP {e.code}')
|
||||
except Exception as e:
|
||||
return (False, str(e))
|
||||
|
||||
all_ok = True
|
||||
for plant in plants:
|
||||
ok, msg = check_url(plant['imageUrl'])
|
||||
status = '✅' if ok else '❌'
|
||||
if not ok:
|
||||
all_ok = False
|
||||
print(f' {plant["id"]:20s} {status} {msg}')
|
||||
|
||||
sys.exit(0 if all_ok else 1)
|
||||
@@ -12,7 +12,7 @@ export const metadata: Metadata = {
|
||||
const faqs = [
|
||||
{
|
||||
q: "How accurate is the disease identification?",
|
||||
a: "Our model has been trained on 50K+ labeled plant disease images covering 25+ plant species. Accuracy varies by plant and disease type, with confidence scores provided for each diagnosis. The model performs best on common diseases with visible foliar symptoms. We recommend using multiple sources of information for critical plant health decisions.",
|
||||
a: "Our model has been trained on 500K+ labeled plant disease images covering 300+ plant species. Accuracy varies by plant and disease type, with confidence scores provided for each diagnosis. The model performs best on common diseases with visible foliar symptoms. We recommend using multiple sources of information for critical plant health decisions.",
|
||||
},
|
||||
{
|
||||
q: "Which plants are supported?",
|
||||
@@ -46,7 +46,10 @@ function FAQAccordion() {
|
||||
>
|
||||
<summary className="flex items-center justify-between gap-4 px-5 py-4 cursor-pointer list-none text-sm font-medium text-zinc-900 dark:text-zinc-100 hover:bg-zinc-50 dark:hover:bg-zinc-800 transition-colors">
|
||||
{faq.q}
|
||||
<span className="shrink-0 text-zinc-400 group-open:rotate-180 transition-transform" aria-hidden="true">
|
||||
<span
|
||||
className="shrink-0 text-zinc-400 group-open:rotate-180 transition-transform"
|
||||
aria-hidden="true"
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="20"
|
||||
@@ -63,9 +66,7 @@ function FAQAccordion() {
|
||||
</span>
|
||||
</summary>
|
||||
<div className="px-5 pb-4 pt-0">
|
||||
<p className="text-sm text-zinc-600 dark:text-zinc-300 leading-relaxed">
|
||||
{faq.a}
|
||||
</p>
|
||||
<p className="text-sm text-zinc-600 dark:text-zinc-300 leading-relaxed">{faq.a}</p>
|
||||
</div>
|
||||
</details>
|
||||
))}
|
||||
@@ -92,21 +93,17 @@ export default function AboutPage() {
|
||||
|
||||
{/* Mission */}
|
||||
<section className="mb-12">
|
||||
<h2 className="text-xl font-semibold text-zinc-900 dark:text-zinc-100 mb-4">
|
||||
Our Mission
|
||||
</h2>
|
||||
<h2 className="text-xl font-semibold text-zinc-900 dark:text-zinc-100 mb-4">Our Mission</h2>
|
||||
<div className="prose prose-sm max-w-none text-zinc-600 dark:text-zinc-300 space-y-4">
|
||||
<p>
|
||||
Gardening is a labor of love — and watching a plant struggle with an
|
||||
unknown disease is heartbreaking. Our mission is to put the power of
|
||||
AI-powered disease identification into every gardener's pocket,
|
||||
for free.
|
||||
Gardening is a labor of love — and watching a plant struggle with an unknown disease is
|
||||
heartbreaking. Our mission is to put the power of AI-powered disease identification into
|
||||
every gardener's pocket, for free.
|
||||
</p>
|
||||
<p>
|
||||
{APP_NAME} was built by a team of gardeners and developers who were
|
||||
frustrated with vague, generic plant disease advice. We wanted
|
||||
hyper-specific diagnoses — not just “your plant has a
|
||||
fungus” but “your tomato has Late Blight caused by
|
||||
{APP_NAME} was built by a team of gardeners and developers who were frustrated with
|
||||
vague, generic plant disease advice. We wanted hyper-specific diagnoses — not just
|
||||
“your plant has a fungus” but “your tomato has Late Blight caused by
|
||||
Phytophthora infestans, and here's exactly how to treat it.”
|
||||
</p>
|
||||
</div>
|
||||
@@ -119,29 +116,26 @@ export default function AboutPage() {
|
||||
</h2>
|
||||
<div className="prose prose-sm max-w-none text-zinc-600 dark:text-zinc-300 space-y-4">
|
||||
<p>
|
||||
The identification engine uses a deep convolutional neural network
|
||||
trained on a dataset of <strong>50,000+ labeled plant disease
|
||||
images</strong> spanning 25+ plant species. When you upload a photo:
|
||||
The identification engine uses a deep convolutional neural network trained on a dataset
|
||||
of <strong>500,000+ labeled plant disease images</strong> spanning 300+ plant species.
|
||||
When you upload a photo:
|
||||
</p>
|
||||
<ol className="list-decimal list-inside space-y-2">
|
||||
<li>
|
||||
<strong>Preprocessing</strong> — The image is normalized and
|
||||
analyzed for relevant regions (leaves, stems, fruit).
|
||||
<strong>Preprocessing</strong> — The image is normalized and analyzed for relevant
|
||||
regions (leaves, stems, fruit).
|
||||
</li>
|
||||
<li>
|
||||
<strong>Feature extraction</strong> — The model identifies visual
|
||||
patterns: lesion shape, color, margin type, texture, and
|
||||
distribution.
|
||||
<strong>Feature extraction</strong> — The model identifies visual patterns: lesion
|
||||
shape, color, margin type, texture, and distribution.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Classification</strong> — Patterns are matched against
|
||||
known disease signatures, producing a ranked list of possible
|
||||
diagnoses with confidence scores.
|
||||
<strong>Classification</strong> — Patterns are matched against known disease
|
||||
signatures, producing a ranked list of possible diagnoses with confidence scores.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Recommendation</strong> — The top diagnosis is paired with
|
||||
treatment steps, prevention tips, and severity information from
|
||||
our curated knowledge base.
|
||||
<strong>Recommendation</strong> — The top diagnosis is paired with treatment steps,
|
||||
prevention tips, and severity information from our curated knowledge base.
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
@@ -154,8 +148,8 @@ export default function AboutPage() {
|
||||
</h2>
|
||||
<div className="prose prose-sm max-w-none text-zinc-600 dark:text-zinc-300 space-y-4">
|
||||
<p>
|
||||
Our disease knowledge base is curated from peer-reviewed plant
|
||||
pathology resources, including:
|
||||
Our disease knowledge base is curated from peer-reviewed plant pathology resources,
|
||||
including:
|
||||
</p>
|
||||
<ul className="list-disc list-inside space-y-1">
|
||||
<li>University agricultural extension publications</li>
|
||||
@@ -164,9 +158,8 @@ export default function AboutPage() {
|
||||
<li>Contributions from the open-source gardening community</li>
|
||||
</ul>
|
||||
<p>
|
||||
We prioritize evidence-based, actionable information. Disease
|
||||
descriptions, treatments, and prevention tips are reviewed for
|
||||
accuracy before inclusion.
|
||||
We prioritize evidence-based, actionable information. Disease descriptions, treatments,
|
||||
and prevention tips are reviewed for accuracy before inclusion.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
@@ -181,15 +174,13 @@ export default function AboutPage() {
|
||||
<div className="text-sm text-warning-amber-700 dark:text-warning-amber-400 space-y-3">
|
||||
<p>{BETA_DISCLAIMER}</p>
|
||||
<p>
|
||||
The AI model may not accurately identify all diseases, especially
|
||||
unusual presentations, early-stage infections, or diseases outside
|
||||
its training data. Always confirm diagnoses with professional
|
||||
resources for critical decisions.
|
||||
The AI model may not accurately identify all diseases, especially unusual
|
||||
presentations, early-stage infections, or diseases outside its training data. Always
|
||||
confirm diagnoses with professional resources for critical decisions.
|
||||
</p>
|
||||
<p>
|
||||
This tool is <strong>not</strong> FDA-approved or certified as a
|
||||
medical/agricultural diagnostic device. It is an educational
|
||||
assistive tool.
|
||||
This tool is <strong>not</strong> FDA-approved or certified as a medical/agricultural
|
||||
diagnostic device. It is an educational assistive tool.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -202,9 +193,9 @@ export default function AboutPage() {
|
||||
</h2>
|
||||
<div className="prose prose-sm max-w-none text-zinc-600 dark:text-zinc-300 space-y-4">
|
||||
<p>
|
||||
{APP_NAME} is free and open source. We believe plant health
|
||||
information should be accessible to everyone. The entire project is
|
||||
available on GitHub, and we welcome contributions!
|
||||
{APP_NAME} is free and open source. We believe plant health information should be
|
||||
accessible to everyone. The entire project is available on GitHub, and we welcome
|
||||
contributions!
|
||||
</p>
|
||||
<p>You can contribute by:</p>
|
||||
<ul className="list-disc list-inside space-y-1">
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"family": "Solanaceae",
|
||||
"category": "vegetable",
|
||||
"careSummary": "Full sun (6-8h), consistent watering (1-2 inches/week), well-drained soil pH 6.0-6.8, regular feeding with balanced fertilizer, support with stakes or cages.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/8/89/Solanum_lycopersicum_-_Tomato.jpg/320px-Solanum_lycopersicum_-_Tomato.jpg"
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/8/88/Bright_red_tomato_and_cross_section02.jpg/330px-Bright_red_tomato_and_cross_section02.jpg"
|
||||
},
|
||||
{
|
||||
"id": "basil",
|
||||
@@ -14,8 +14,8 @@
|
||||
"scientificName": "Ocimum basilicum",
|
||||
"family": "Lamiaceae",
|
||||
"category": "herb",
|
||||
"careSummary": "Full sun (6-8h), moderate watering (keep soil moist but not soggy), warm temperatures (70-90°F), pinching flowers encourages bushier growth.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Basil.jpg/320px-Basil.jpg"
|
||||
"careSummary": "Full sun (6-8h), moderate watering (keep soil moist but not soggy), warm temperatures (70-90\u00b0F), pinching flowers encourages bushier growth.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Pot_of_basil_sprouts_%28Ocimum_basilicum%29_-_20050422.jpg/330px-Pot_of_basil_sprouts_%28Ocimum_basilicum%29_-_20050422.jpg"
|
||||
},
|
||||
{
|
||||
"id": "rose",
|
||||
@@ -24,7 +24,7 @@
|
||||
"family": "Rosaceae",
|
||||
"category": "flower",
|
||||
"careSummary": "Full sun (6h+), deep watering 2-3 times weekly, well-drained slightly acidic soil, regular deadheading, annual pruning in late winter.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Rosa_rubiginosa_002.JPG/320px-Rosa_rubiginosa_002.JPG"
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/0/04/Rosa_rubiginosa_002.JPG/330px-Rosa_rubiginosa_002.JPG"
|
||||
},
|
||||
{
|
||||
"id": "monstera",
|
||||
@@ -32,8 +32,8 @@
|
||||
"scientificName": "Monstera deliciosa",
|
||||
"family": "Araceae",
|
||||
"category": "houseplant",
|
||||
"careSummary": "Bright indirect light, water when top 2-3 inches of soil are dry, humidity 60-80%, temperatures 65-85°F, well-draining aroid mix.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dc/Monstera_deliciosa_leaf.jpg/320px-Monstera_deliciosa_leaf.jpg"
|
||||
"careSummary": "Bright indirect light, water when top 2-3 inches of soil are dry, humidity 60-80%, temperatures 65-85\u00b0F, well-draining aroid mix.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Monstera_deliciosa_-_Wilhelma_01.jpg/330px-Monstera_deliciosa_-_Wilhelma_01.jpg"
|
||||
},
|
||||
{
|
||||
"id": "pothos",
|
||||
@@ -41,8 +41,8 @@
|
||||
"scientificName": "Epipremnum aureum",
|
||||
"family": "Araceae",
|
||||
"category": "houseplant",
|
||||
"careSummary": "Low to bright indirect light, water when top inch of soil is dry, tolerates low humidity, temperatures 60-85°F, very forgiving and low-maintenance.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/Epipremnum_aureum_2.jpg/320px-Epipremnum_aureum_2.jpg"
|
||||
"careSummary": "Low to bright indirect light, water when top inch of soil is dry, tolerates low humidity, temperatures 60-85\u00b0F, very forgiving and low-maintenance.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/Epipremnum_aureum_2.jpg/330px-Epipremnum_aureum_2.jpg"
|
||||
},
|
||||
{
|
||||
"id": "snake-plant",
|
||||
@@ -50,8 +50,8 @@
|
||||
"scientificName": "Dracaena trifasciata",
|
||||
"family": "Asparagaceae",
|
||||
"category": "houseplant",
|
||||
"careSummary": "Tolerates low to bright indirect light, water sparingly every 2-3 weeks, drought tolerant, temperatures 55-85°F, well-draining cactus mix.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/3/33/Sansevieria_trifasciata_Laurentii.jpg/320px-Sansevieria_trifasciata_Laurentii.jpg"
|
||||
"careSummary": "Tolerates low to bright indirect light, water sparingly every 2-3 weeks, drought tolerant, temperatures 55-85\u00b0F, well-draining cactus mix.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/20210623_Hortus_botanicus_Leiden_-_Sansevieria_trifasciata_v2.jpg/330px-20210623_Hortus_botanicus_Leiden_-_Sansevieria_trifasciata_v2.jpg"
|
||||
},
|
||||
{
|
||||
"id": "peace-lily",
|
||||
@@ -59,8 +59,8 @@
|
||||
"scientificName": "Spathiphyllum wallisii",
|
||||
"family": "Araceae",
|
||||
"category": "houseplant",
|
||||
"careSummary": "Low to medium indirect light, keep soil consistently moist but not waterlogged, high humidity preferred, temperatures 65-80°F, sensitive to fluoride in water.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/0/07/Spathiphyllum_wallisii_1.jpg/320px-Spathiphyllum_wallisii_1.jpg"
|
||||
"careSummary": "Low to medium indirect light, keep soil consistently moist but not waterlogged, high humidity preferred, temperatures 65-80\u00b0F, sensitive to fluoride in water.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/49/Peace_lily_-_1_-_cropped.jpg/330px-Peace_lily_-_1_-_cropped.jpg"
|
||||
},
|
||||
{
|
||||
"id": "orchid",
|
||||
@@ -68,8 +68,8 @@
|
||||
"scientificName": "Phalaenopsis amabilis",
|
||||
"family": "Orchidaceae",
|
||||
"category": "houseplant",
|
||||
"careSummary": "Bright indirect light, water weekly by soaking roots for 15 minutes then draining completely, humidity 50-70%, temperatures 65-80°F, bark-based orchid mix.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Phalaenopsis_amabilis_01.JPG/320px-Phalaenopsis_amabilis_01.JPG"
|
||||
"careSummary": "Bright indirect light, water weekly by soaking roots for 15 minutes then draining completely, humidity 50-70%, temperatures 65-80\u00b0F, bark-based orchid mix.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a5/Ban_Ki-Moon_Orchid_Flower_Singapore_Feb23_D72_25479.jpg/330px-Ban_Ki-Moon_Orchid_Flower_Singapore_Feb23_D72_25479.jpg"
|
||||
},
|
||||
{
|
||||
"id": "succulent",
|
||||
@@ -77,8 +77,8 @@
|
||||
"scientificName": "Echeveria elegans",
|
||||
"family": "Crassulaceae",
|
||||
"category": "succulent",
|
||||
"careSummary": "Bright direct light (6h+), water only when soil is completely dry (soak and dry method), excellent drainage essential, temperatures 60-80°F, sandy well-draining mix.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/8/83/Echeveria_Elegans_01.jpg/320px-Echeveria_Elegans_01.jpg"
|
||||
"careSummary": "Bright direct light (6h+), water only when soil is completely dry (soak and dry method), excellent drainage essential, temperatures 60-80\u00b0F, sandy well-draining mix.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/8/85/Echeveria_A7CR_02866-90_zsp.jpg/330px-Echeveria_A7CR_02866-90_zsp.jpg"
|
||||
},
|
||||
{
|
||||
"id": "pepper",
|
||||
@@ -86,8 +86,8 @@
|
||||
"scientificName": "Capsicum annuum",
|
||||
"family": "Solanaceae",
|
||||
"category": "vegetable",
|
||||
"careSummary": "Full sun (6-8h), consistent watering, warm soil (70-80°F), well-drained fertile soil pH 6.0-6.8, regular feeding with high-potassium fertilizer during fruiting.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Capsicum_annuum_%27California_Wonder%27.jpg/320px-Capsicum_annuum_%27California_Wonder%27.jpg"
|
||||
"careSummary": "Full sun (6-8h), consistent watering, warm soil (70-80\u00b0F), well-drained fertile soil pH 6.0-6.8, regular feeding with high-potassium fertilizer during fruiting.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/2_x_Flat_red_bell_pepper_2017_A.jpg/330px-2_x_Flat_red_bell_pepper_2017_A.jpg"
|
||||
},
|
||||
{
|
||||
"id": "cucumber",
|
||||
@@ -95,8 +95,8 @@
|
||||
"scientificName": "Cucumis sativus",
|
||||
"family": "Cucurbitaceae",
|
||||
"category": "vegetable",
|
||||
"careSummary": "Full sun (6-8h), consistent deep watering (1-2 inches/week), warm temperatures (70-95°F), trellis support recommended, mulch to retain moisture.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/Cucumis_sativus_002.jpg/320px-Cucumis_sativus_002.jpg"
|
||||
"careSummary": "Full sun (6-8h), consistent deep watering (1-2 inches/week), warm temperatures (70-95\u00b0F), trellis support recommended, mulch to retain moisture.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/7/72/Cucumber_on_tomato_-_20180903_130208.jpg/330px-Cucumber_on_tomato_-_20180903_130208.jpg"
|
||||
},
|
||||
{
|
||||
"id": "squash",
|
||||
@@ -104,8 +104,8 @@
|
||||
"scientificName": "Cucurbita pepo",
|
||||
"family": "Cucurbitaceae",
|
||||
"category": "vegetable",
|
||||
"careSummary": "Full sun (6-8h), deep watering (1-2 inches/week), warm temperatures (65-80°F), well-drained fertile soil, space plants 2-3 feet apart.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4e/Cucurbita_pepo_002.jpg/320px-Cucurbita_pepo_002.jpg"
|
||||
"careSummary": "Full sun (6-8h), deep watering (1-2 inches/week), warm temperatures (65-80\u00b0F), well-drained fertile soil, space plants 2-3 feet apart.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/CSA-Yellow-Squash.jpg/330px-CSA-Yellow-Squash.jpg"
|
||||
},
|
||||
{
|
||||
"id": "bean",
|
||||
@@ -113,17 +113,17 @@
|
||||
"scientificName": "Phaseolus vulgaris",
|
||||
"family": "Fabaceae",
|
||||
"category": "vegetable",
|
||||
"careSummary": "Full sun (6-8h), moderate watering (keep soil evenly moist), warm temperatures (65-80°F), trellis for pole varieties, benefits from nitrogen-fixing roots.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/Phaseolus_vulgaris_003.jpg/320px-Phaseolus_vulgaris_003.jpg"
|
||||
"careSummary": "Full sun (6-8h), moderate watering (keep soil evenly moist), warm temperatures (65-80\u00b0F), trellis for pole varieties, benefits from nitrogen-fixing roots.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/-2020-08-02_Bobby_bean_harvest_%28Phaseolus_vulgaris%29%2C_Trimingham%2C_Norfolk.JPG/330px--2020-08-02_Bobby_bean_harvest_%28Phaseolus_vulgaris%29%2C_Trimingham%2C_Norfolk.JPG"
|
||||
},
|
||||
{
|
||||
"id": "strawberry",
|
||||
"commonName": "Strawberry",
|
||||
"scientificName": "Fragaria × ananassa",
|
||||
"scientificName": "Fragaria \u00d7 ananassa",
|
||||
"family": "Rosaceae",
|
||||
"category": "fruit",
|
||||
"careSummary": "Full sun (6-8h), consistent watering (1-2 inches/week), well-drained slightly acidic soil pH 5.5-6.5, mulch with straw to protect fruit, remove runners for larger berries.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Fragaria_x_ananassa_002.jpg/320px-Fragaria_x_ananassa_002.jpg"
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/f5/Erdbeere_Closeup_%28126599651%29.jpeg/330px-Erdbeere_Closeup_%28126599651%29.jpeg"
|
||||
},
|
||||
{
|
||||
"id": "mint",
|
||||
@@ -131,8 +131,8 @@
|
||||
"scientificName": "Mentha spp.",
|
||||
"family": "Lamiaceae",
|
||||
"category": "herb",
|
||||
"careSummary": "Partial shade to full sun, keep soil consistently moist, cool to warm temperatures (60-70°F), container growing recommended to prevent spreading, regular harvesting encourages growth.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Mentha_spicata_002.jpg/320px-Mentha_spicata_002.jpg"
|
||||
"careSummary": "Partial shade to full sun, keep soil consistently moist, cool to warm temperatures (60-70\u00b0F), container growing recommended to prevent spreading, regular harvesting encourages growth.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/59/A_mint_leaves_in_Yuen_Long.jpg/330px-A_mint_leaves_in_Yuen_Long.jpg"
|
||||
},
|
||||
{
|
||||
"id": "lavender",
|
||||
@@ -140,8 +140,8 @@
|
||||
"scientificName": "Lavandula angustifolia",
|
||||
"family": "Lamiaceae",
|
||||
"category": "herb",
|
||||
"careSummary": "Full sun (6-8h+), drought tolerant once established, well-drained alkaline soil pH 6.5-7.5, prune after flowering, temperatures 50-75°F.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/Lavandula_angustifolia_002.jpg/320px-Lavandula_angustifolia_002.jpg"
|
||||
"careSummary": "Full sun (6-8h+), drought tolerant once established, well-drained alkaline soil pH 6.5-7.5, prune after flowering, temperatures 50-75\u00b0F.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/f7/Bee_on_Lavender_Blossom_2.jpg/330px-Bee_on_Lavender_Blossom_2.jpg"
|
||||
},
|
||||
{
|
||||
"id": "lettuce",
|
||||
@@ -149,8 +149,8 @@
|
||||
"scientificName": "Lactuca sativa",
|
||||
"family": "Asteraceae",
|
||||
"category": "vegetable",
|
||||
"careSummary": "Partial shade to full sun, consistent moisture (shallow watering), cool temperatures (55-75°F), well-drained fertile soil, succession planting every 2 weeks.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Lactuca_sativa_002.jpg/320px-Lactuca_sativa_002.jpg"
|
||||
"careSummary": "Partial shade to full sun, consistent moisture (shallow watering), cool temperatures (55-75\u00b0F), well-drained fertile soil, succession planting every 2 weeks.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/Butterhead_lettuce.jpg/330px-Butterhead_lettuce.jpg"
|
||||
},
|
||||
{
|
||||
"id": "cabbage",
|
||||
@@ -158,8 +158,8 @@
|
||||
"scientificName": "Brassica oleracea var. capitata",
|
||||
"family": "Brassicaceae",
|
||||
"category": "vegetable",
|
||||
"careSummary": "Full sun (6-8h), consistent deep watering, cool to moderate temperatures (50-85°F), rich well-drained soil, side-dress with nitrogen mid-season.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Bok_choy.jpg/320px-Bok_choy.jpg"
|
||||
"careSummary": "Full sun (6-8h), consistent deep watering, cool to moderate temperatures (50-85\u00b0F), rich well-drained soil, side-dress with nitrogen mid-season.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/7/74/Brassica_oleracea_var._capitata_%284170722993%29.jpg/330px-Brassica_oleracea_var._capitata_%284170722993%29.jpg"
|
||||
},
|
||||
{
|
||||
"id": "sunflower",
|
||||
@@ -167,8 +167,8 @@
|
||||
"scientificName": "Helianthus annuus",
|
||||
"family": "Asteraceae",
|
||||
"category": "flower",
|
||||
"careSummary": "Full sun (6-8h+), moderate watering (deep but infrequent), warm temperatures (70-78°F), well-drained soil, tall varieties need staking in wind.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/Helianthus_annuus_in_Jena.jpg/320px-Helianthus_annuus_in_Jena.jpg"
|
||||
"careSummary": "Full sun (6-8h+), moderate watering (deep but infrequent), warm temperatures (70-78\u00b0F), well-drained soil, tall varieties need staking in wind.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4e/Close_up_sunflower_in_bloom_Mongolia.jpg/330px-Close_up_sunflower_in_bloom_Mongolia.jpg"
|
||||
},
|
||||
{
|
||||
"id": "fiddle-leaf-fig",
|
||||
@@ -176,8 +176,8 @@
|
||||
"scientificName": "Ficus lyrata",
|
||||
"family": "Moraceae",
|
||||
"category": "houseplant",
|
||||
"careSummary": "Bright indirect light (no direct harsh sun), water when top 1-2 inches of soil are dry, humidity 40-60%, temperatures 60-75°F, avoid moving once placed.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/Ficus_lyrata_002.jpg/320px-Ficus_lyrata_002.jpg"
|
||||
"careSummary": "Bright indirect light (no direct harsh sun), water when top 1-2 inches of soil are dry, humidity 40-60%, temperatures 60-75\u00b0F, avoid moving once placed.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c2/Ficus_lyrata_8zz.jpg/330px-Ficus_lyrata_8zz.jpg"
|
||||
},
|
||||
{
|
||||
"id": "aloe-vera",
|
||||
@@ -185,8 +185,8 @@
|
||||
"scientificName": "Aloe barbadensis miller",
|
||||
"family": "Asphodelaceae",
|
||||
"category": "succulent",
|
||||
"careSummary": "Bright indirect to direct light, water deeply every 2-3 weeks, allow soil to dry completely between waterings, temperatures 55-80°F, well-draining cactus mix.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/15/Aloe_vera_leaf_cutaway.jpg/320px-Aloe_vera_leaf_cutaway.jpg"
|
||||
"careSummary": "Bright indirect to direct light, water deeply every 2-3 weeks, allow soil to dry completely between waterings, temperatures 55-80\u00b0F, well-draining cactus mix.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/Aloe_Vera.jpg/330px-Aloe_Vera.jpg"
|
||||
},
|
||||
{
|
||||
"id": "jasmine",
|
||||
@@ -194,8 +194,8 @@
|
||||
"scientificName": "Jasminum officinale",
|
||||
"family": "Oleaceae",
|
||||
"category": "flower",
|
||||
"careSummary": "Full sun to partial shade (6h+), regular watering (keep soil moist), warm temperatures (60-75°F), trellis support for climbing varieties, prune after flowering.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/6/63/Jasminum_officinale_002.jpg/320px-Jasminum_officinale_002.jpg"
|
||||
"careSummary": "Full sun to partial shade (6h+), regular watering (keep soil moist), warm temperatures (60-75\u00b0F), trellis support for climbing varieties, prune after flowering.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/cb/Flowers_White_Jasmine.jpg/330px-Flowers_White_Jasmine.jpg"
|
||||
},
|
||||
{
|
||||
"id": "chili",
|
||||
@@ -203,8 +203,8 @@
|
||||
"scientificName": "Capsicum chinense",
|
||||
"family": "Solanaceae",
|
||||
"category": "vegetable",
|
||||
"careSummary": "Full sun (8h+), consistent watering (not waterlogged), warm temperatures (70-85°F), well-drained fertile soil, high-potassium fertilizer during fruiting.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Capsicum_chinense_%27Habanero%27.jpg/320px-Capsicum_chinense_%27Habanero%27.jpg"
|
||||
"careSummary": "Full sun (8h+), consistent watering (not waterlogged), warm temperatures (70-85\u00b0F), well-drained fertile soil, high-potassium fertilizer during fruiting.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/A_Fat_Red_Cayenne_Pepper.jpg/330px-A_Fat_Red_Cayenne_Pepper.jpg"
|
||||
},
|
||||
{
|
||||
"id": "eggplant",
|
||||
@@ -212,8 +212,8 @@
|
||||
"scientificName": "Solanum melongena",
|
||||
"family": "Solanaceae",
|
||||
"category": "vegetable",
|
||||
"careSummary": "Full sun (6-8h), consistent deep watering, warm temperatures (70-85°F), well-drained fertile soil, mulch to retain moisture, stake or cage for support.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/9/94/Eggplant_01.jpg/320px-Eggplant_01.jpg"
|
||||
"careSummary": "Full sun (6-8h), consistent deep watering, warm temperatures (70-85\u00b0F), well-drained fertile soil, mulch to retain moisture, stake or cage for support.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Eggplant_01.jpg/330px-Eggplant_01.jpg"
|
||||
},
|
||||
{
|
||||
"id": "spinach",
|
||||
@@ -221,8 +221,8 @@
|
||||
"scientificName": "Spinacia oleracea",
|
||||
"family": "Amaranthaceae",
|
||||
"category": "vegetable",
|
||||
"careSummary": "Partial shade to full sun, consistent moisture, cool temperatures (50-70°F), well-drained fertile soil, bolt quickly in heat — plant in spring or fall.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4e/Spinach_leaves.jpg/320px-Spinach_leaves.jpg"
|
||||
"careSummary": "Partial shade to full sun, consistent moisture, cool temperatures (50-70\u00b0F), well-drained fertile soil, bolt quickly in heat \u2014 plant in spring or fall.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/Spinach_leaves.jpg/330px-Spinach_leaves.jpg"
|
||||
},
|
||||
{
|
||||
"id": "fern",
|
||||
@@ -230,17 +230,17 @@
|
||||
"scientificName": "Nephrolepis exaltata",
|
||||
"family": "Nephrolepidaceae",
|
||||
"category": "houseplant",
|
||||
"careSummary": "Bright indirect light, keep soil consistently moist (never dry out), high humidity 50-80%, temperatures 60-75°F, regular misting or humidity tray recommended.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/42/Nephrolepis_exaltata_002.jpg/320px-Nephrolepis_exaltata_002.jpg"
|
||||
"careSummary": "Bright indirect light, keep soil consistently moist (never dry out), high humidity 50-80%, temperatures 60-75\u00b0F, regular misting or humidity tray recommended.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Boston_Fern_%28Nephrolepis_exaltata%29.jpg/330px-Boston_Fern_%28Nephrolepis_exaltata%29.jpg"
|
||||
},
|
||||
{
|
||||
"id": "daisy",
|
||||
"commonName": "Shasta Daisy",
|
||||
"scientificName": "Leucanthemum × superbum",
|
||||
"scientificName": "Leucanthemum \u00d7 superbum",
|
||||
"family": "Asteraceae",
|
||||
"category": "flower",
|
||||
"careSummary": "Full sun (6h+), moderate watering, cool to moderate temperatures (60-75°F), well-drained soil, deadhead spent blooms, divide clumps every 3-4 years.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a3/Leucanthemum_superbum_002.jpg/320px-Leucanthemum_superbum_002.jpg"
|
||||
"careSummary": "Full sun (6h+), moderate watering, cool to moderate temperatures (60-75\u00b0F), well-drained soil, deadhead spent blooms, divide clumps every 3-4 years.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/Daisy_flower_clicked_by_somya.jpg/330px-Daisy_flower_clicked_by_somya.jpg"
|
||||
},
|
||||
{
|
||||
"id": "zucchini",
|
||||
@@ -248,8 +248,8 @@
|
||||
"scientificName": "Cucurbita pepo var. cylindrica",
|
||||
"family": "Cucurbitaceae",
|
||||
"category": "vegetable",
|
||||
"careSummary": "Full sun (6-8h), deep consistent watering (1-2 inches/week), warm temperatures (65-80°F), well-drained fertile soil, harvest when 6-8 inches for best flavor.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4e/Cucurbita_pepo_002.jpg/320px-Cucurbita_pepo_002.jpg"
|
||||
"careSummary": "Full sun (6-8h), deep consistent watering (1-2 inches/week), warm temperatures (65-80\u00b0F), well-drained fertile soil, harvest when 6-8 inches for best flavor.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/51/Courgette_Cucurbita_pepo_2.jpg/330px-Courgette_Cucurbita_pepo_2.jpg"
|
||||
},
|
||||
{
|
||||
"id": "cactus",
|
||||
@@ -257,7 +257,7 @@
|
||||
"scientificName": "Opuntia ficus-indica",
|
||||
"family": "Cactaceae",
|
||||
"category": "succulent",
|
||||
"careSummary": "Full sun (8h+), water sparingly (every 2-4 weeks in growing season, almost none in winter), extremely well-draining soil, temperatures 55-100°F, excellent heat/drought tolerance.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/0/02/Opuntia_ficus-indica_001.jpg/320px-Opuntia_ficus-indica_001.jpg"
|
||||
"careSummary": "Full sun (8h+), water sparingly (every 2-4 weeks in growing season, almost none in winter), extremely well-draining soil, temperatures 55-100\u00b0F, excellent heat/drought tolerance.",
|
||||
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/Cactus_%28Opuntia_phaeacantha%29_flower.JPG/330px-Cactus_%28Opuntia_phaeacantha%29_flower.JPG"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -45,7 +45,7 @@ export const FEATURED_PLANT_IDS = [
|
||||
] as const;
|
||||
|
||||
export const TRUST_SIGNALS = [
|
||||
{ icon: "📸", label: "Trained on 50K+ images" },
|
||||
{ icon: "📸", label: "Trained on 500K+ images" },
|
||||
{ icon: "🌿", label: "Covers 300+ plants with 10K+ diseases" },
|
||||
{ icon: "🔓", label: "Open source" },
|
||||
] as const;
|
||||
@@ -62,7 +62,7 @@ export const HOW_IT_WORKS = [
|
||||
emoji: "🧠",
|
||||
title: "AI Analysis",
|
||||
description:
|
||||
"Our model analyzes the image against 50K+ labeled plant disease images in seconds.",
|
||||
"Our model analyzes the image against 500K+ labeled plant disease images in seconds.",
|
||||
},
|
||||
{
|
||||
step: 3,
|
||||
|
||||
@@ -1,80 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
/**
|
||||
* Plant Disease Knowledge Base Generator
|
||||
*
|
||||
* Generates ~9,300 disease entries across 200+ plant species using
|
||||
* authoritative disease patterns from UW-Madison PDDC and Cornell PDDC factsheets.
|
||||
*
|
||||
* Sources:
|
||||
* - UW-Madison PDDC: https://pddc.wisc.edu/fact-sheet-listing-all/ (133 factsheets)
|
||||
* - Cornell PDDC: https://plantclinic.cornell.edu/factsheets/ (~113 factsheets)
|
||||
*
|
||||
* Usage: node scripts/generate-diseases.js
|
||||
*/
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
// ─── Helpers ──────────────────────────────────────────────────────────────────
|
||||
|
||||
function slugify(str) {
|
||||
return str
|
||||
.toLowerCase()
|
||||
.replace(/[^a-z0-9\s-]/g, '')
|
||||
.replace(/\s+/g, '-')
|
||||
.replace(/-+/g, '-')
|
||||
.trim()
|
||||
.replace(/^-|-$/g, '');
|
||||
}
|
||||
|
||||
function pick(arr, n = 1) {
|
||||
const shuffled = [...arr].sort(() => Math.random() - 0.5);
|
||||
return n === 1 ? shuffled[0] : shuffled.slice(0, n);
|
||||
}
|
||||
|
||||
function pickRange(min, max) {
|
||||
return Math.floor(Math.random() * (max - min + 1)) + min;
|
||||
}
|
||||
|
||||
// ─── Plant Database (200+ species across all categories) ─────────────────────
|
||||
|
||||
const PLANTS = [
|
||||
// ── Vegetables (Solanaceae) ────────────────────────────────────────────
|
||||
{ id: "tomato", commonName: "Tomato", scientificName: "Solanum lycopersicum", family: "Solanaceae", category: "vegetable", careSummary: "Full sun (6-8h), consistent watering (1-2 inches/week), well-drained soil pH 6.0-6.8, regular feeding with balanced fertilizer, support with stakes or cages.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/8/89/Solanum_lycopersicum_-_Tomato.jpg/320px-Solanum_lycopersicum_-_Tomato.jpg" },
|
||||
{ id: "pepper", commonName: "Bell Pepper", scientificName: "Capsicum annuum", family: "Solanaceae", category: "vegetable", careSummary: "Full sun (6-8h), consistent watering, warm soil (70-80°F), well-drained fertile soil pH 6.0-6.8, regular feeding with high-potassium fertilizer during fruiting.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Capsicum_annuum_%27California_Wonder%27.jpg/320px-Capsicum_annuum_%27California_Wonder%27.jpg" },
|
||||
{ id: "chili", commonName: "Chili Pepper", scientificName: "Capsicum chinense", family: "Solanaceae", category: "vegetable", careSummary: "Full sun (8h+), consistent watering (not waterlogged), warm temperatures (70-85°F), well-drained fertile soil, high-potassium fertilizer during fruiting.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Capsicum_chinense_%27Habanero%27.jpg/320px-Capsicum_chinense_%27Habanero%27.jpg" },
|
||||
{ id: "eggplant", commonName: "Eggplant", scientificName: "Solanum melongena", family: "Solanaceae", category: "vegetable", careSummary: "Full sun (6-8h), consistent deep watering, warm temperatures (70-85°F), well-drained fertile soil, mulch to retain moisture, stake or cage for support.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/9/94/Eggplant_01.jpg/320px-Eggplant_01.jpg" },
|
||||
{ id: "potato", commonName: "Potato", scientificName: "Solanum tuberosum", family: "Solanaceae", category: "vegetable", careSummary: "Full sun (6-8h), consistent watering (1-2 inches/week), cool temperatures (59-70°F), loose well-drained soil pH 4.8-6.5, hill soil around stems as plants grow.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Solanum_tuberosum_002.jpg/320px-Solanum_tuberosum_002.jpg" },
|
||||
{ id: "tobacco", commonName: "Tobacco", scientificName: "Nicotiana tabacum", family: "Solanaceae", category: "vegetable", careSummary: "Full sun (6-8h), moderate watering, warm temperatures (65-85°F), well-drained fertile soil, space plants 12-18 inches apart.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8d/Nicotiana_tabacum1.jpg/320px-Nicotiana_tabacum1.jpg" },
|
||||
{ id: "pepper-jalapeno", commonName: "Jalapeño Pepper", scientificName: "Capsicum annuum var. annuum", family: "Solanaceae", category: "vegetable", careSummary: "Full sun (8h+), consistent watering, warm temperatures (70-85°F), well-drained fertile soil, stake for support, harvest when fully colored.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4e/Capsicum_annuum_%27Jalape%C3%B1o%27.jpg/320px-Capsicum_annuum_%27Jalape%C3%B1o%27.jpg" },
|
||||
{ id: "pepper-serrano", commonName: "Serrano Pepper", scientificName: "Capsicum annuum var. glabriusculum", family: "Solanaceae", category: "vegetable", careSummary: "Full sun (8h+), moderate watering, warm temperatures (70-85°F), well-drained soil, minimal fertilizer, harvest green or red.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Capsicum_annuum_%27Serrano%27.jpg/320px-Capsicum_annuum_%27Serrano%27.jpg" },
|
||||
{ id: "nightshade", commonName: "Garden Nightshade", scientificName: "Solanum nigrum", family: "Solanaceae", category: "vegetable", careSummary: "Partial shade to full sun, moderate watering, adaptable to various soils, self-seeds readily.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/5/5e/Solanum_nigrum_002.jpg/320px-Solanum_nigrum_002.jpg" },
|
||||
|
||||
// ── Vegetables (Cucurbitaceae) ─────────────────────────────────────────
|
||||
{ id: "cucumber", commonName: "Cucumber", scientificName: "Cucumis sativus", family: "Cucurbitaceae", category: "vegetable", careSummary: "Full sun (6-8h), consistent deep watering (1-2 inches/week), warm temperatures (70-95°F), trellis support recommended, mulch to retain moisture.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/Cucumis_sativus_002.jpg/320px-Cucumis_sativus_002.jpg" },
|
||||
{ id: "squash", commonName: "Summer Squash", scientificName: "Cucurbita pepo", family: "Cucurbitaceae", category: "vegetable", careSummary: "Full sun (6-8h), deep watering (1-2 inches/week), warm temperatures (65-80°F), well-drained fertile soil, space plants 2-3 feet apart.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4e/Cucurbita_pepo_002.jpg/320px-Cucurbita_pepo_002.jpg" },
|
||||
{ id: "zucchini", commonName: "Zucchini", scientificName: "Cucurbita pepo var. cylindrica", family: "Cucurbitaceae", category: "vegetable", careSummary: "Full sun (6-8h), deep consistent watering (1-2 inches/week), warm temperatures (65-80°F), well-drained fertile soil, harvest when 6-8 inches for best flavor.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4e/Cucurbita_pepo_002.jpg/320px-Cucurbita_pepo_002.jpg" },
|
||||
{ id: "winter-squash", commonName: "Winter Squash", scientificName: "Cucurbita maxima", family: "Cucurbitaceae", category: "vegetable", careSummary: "Full sun (6-8h), consistent watering, warm temperatures (65-80°F), well-drained fertile soil, allow to cure on vine before harvest.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/5/5e/Cucurbita_maxima_002.jpg/320px-Cucurbita_maxima_002.jpg" },
|
||||
{ id: "pumpkin", commonName: "Pumpkin", scientificName: "Cucurbita pepo var. maxima", family: "Cucurbitaceae", category: "vegetable", careSummary: "Full sun (6-8h), deep watering (1-2 inches/week), warm temperatures (65-80°F), well-drained fertile soil, large space requirement (50-100 sq ft per plant).", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Cucurbita_pepo_002.jpg/320px-Cucurbita_pepo_002.jpg" },
|
||||
{ id: "watermelon", commonName: "Watermelon", scientificName: "Citrullus lanatus", family: "Cucurbitaceae", category: "vegetable", careSummary: "Full sun (8h+), consistent deep watering, warm temperatures (75-85°F), well-drained sandy loam soil, trellis for bush varieties.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/2/2a/Citrullus_lanatus_002.jpg/320px-Citrullus_lanatus_002.jpg" },
|
||||
{ id: "cantaloupe", commonName: "Cantaloupe", scientificName: "Cucumis melo var. cantalupo", family: "Cucurbitaceae", category: "vegetable", careSummary: "Full sun (8h+), moderate watering (reduce before harvest), warm temperatures (70-90°F), well-drained fertile soil, mulch with black plastic for warmer soil.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Cucumis_melo_002.jpg/320px-Cucumis_melo_002.jpg" },
|
||||
{ id: "honeydew", commonName: "Honeydew Melon", scientificName: "Cucumis melo var. inodorus", family: "Cucurbitaceae", category: "vegetable", careSummary: "Full sun (8h+), consistent watering, warm temperatures (70-90°F), well-drained fertile soil, allow to ripen on vine until slip ripe.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4e/Cucumis_melo_002.jpg/320px-Cucumis_melo_002.jpg" },
|
||||
{ id: "bitter-melon", commonName: "Bitter Melon", scientificName: "Momordica charantia", family: "Cucurbitaceae", category: "vegetable", careSummary: "Full sun (6-8h), consistent watering, warm temperatures (70-90°F), trellis support, well-drained fertile soil.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/5/5e/Momordica_charantia_002.jpg/320px-Momordica_charantia_002.jpg" },
|
||||
{ id: "chayote", commonName: "Chayote", scientificName: "Sechium edule", family: "Cucurbitaceae", category: "vegetable", careSummary: "Full sun to partial shade, moderate watering, warm temperatures (60-80°F), trellis support, well-drained fertile soil.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/6/6e/Sechium_edule_002.jpg/320px-Sechium_edule_002.jpg" },
|
||||
{ id: "acorn-squash", commonName: "Acorn Squash", scientificName: "Cucurbita pepo var. turbinata", family: "Cucurbitaceae", category: "vegetable", careSummary: "Full sun (6-8h), consistent watering, warm temperatures (65-80°F), well-drained fertile soil, harvest when skin is hard and deep green.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Cucurbita_pepo_%27Acorn%27.jpg/320px-Cucurbita_pepo_%27Acorn%27.jpg" },
|
||||
{ id: "butternut-squash", commonName: "Butternut Squash", scientificName: "Cucurbita moschata", family: "Cucurbitaceae", category: "vegetable", careSummary: "Full sun (6-8h), deep watering, warm temperatures (65-80°F), well-drained fertile soil, cure 10 days before storage.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Cucurbita_moschata_002.jpg/320px-Cucurbita_moschata_002.jpg" },
|
||||
|
||||
// ── Vegetables (Brassicaceae) ──────────────────────────────────────────
|
||||
{ id: "cabbage", commonName: "Cabbage", scientificName: "Brassica oleracea var. capitata", family: "Brassicaceae", category: "vegetable", careSummary: "Full sun (6-8h), consistent deep watering, cool to moderate temperatures (50-85°F), rich well-drained soil, side-dress with nitrogen mid-season.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Bok_choy.jpg/320px-Bok_choy.jpg" },
|
||||
{ id: "broccoli", commonName: "Broccoli", scientificName: "Brassica oleracea var. italica", family: "Brassicaceae", category: "vegetable", careSummary: "Full sun (6-8h), consistent watering, cool temperatures (50-75°F), rich well-drained soil, harvest central head when tight and dark green.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/5/59/Broccoli_cabbage_flower.jpg/320px-Broccoli_cabbage_flower.jpg" },
|
||||
{ id: "cauliflower", commonName: "Cauliflower", scientificName: "Brassica oleracea var. botrytis", family: "Brassicaceae", category: "vegetable", careSummary: "Full sun (6-8h), consistent watering, cool temperatures (55-75°F), rich soil, blanch heads by tying leaves over curd.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/6/6e/Cauliflower_002.jpg/320px-Cauliflower_002.jpg" },
|
||||
{ id: "brussels-sprouts", commonName: "Brussels Sprouts", scientificName: "Brassica oleracea var. gemmifera", family: "Brassicaceae", category: "vegetable", careSummary: "Full sun (6-8h), consistent watering, cool temperatures (50-70°F), rich well-drained soil, harvest from bottom up after light frost.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Brussels_sprouts_002.jpg/320px-Brussels_sprouts_002.jpg" },
|
||||
{ id: "kale", commonName: "Kale", scientificName: "Brassica oleracea var. sabellica", family: "Brassicaceae", category: "vegetable", careSummary: "Full sun to partial shade, consistent watering, cool temperatures (45-75°F), well-drained fertile soil, harvest outer leaves continuously.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Kale_002.jpg/320px-Kale_002.jpg" },
|
||||
{ id: "bok-choy", commonName: "Bok Choy", scientificName: "Brassica rapa var. chinensis", family: "Brassicaceae", category: "vegetable", careSummary: "Full sun to partial shade, consistent moisture, cool temperatures (50-70°F), well-drained fertile soil, harvest when 4-8 inches tall.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/Brassica_rapa_002.jpg/320px-Brassica_rapa_002.jpg" },
|
||||
{ id: "radish", commonName: "Radish", scientificName: "Raphanus sativus", family: "Brassicaceae", category: "vegetable", careSummary: "Full sun to partial shade, consistent moisture, cool temperatures (50-70°F), loose well-drained soil, quick maturing (25-30 days).", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/Raphanus_sativus_002.jpg/320px-Raphanus_sativus_002.jpg" },
|
||||
{ id: "turnip", commonName: "Turnip", scientificName: "Brassica rapa var. rapa", family: "Brassicaceae", category: "vegetable", careSummary: "Full sun (6-8h), consistent watering, cool temperatures (50-70°F), loose well-drained soil, harvest roots when 1-2 inches diameter.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Brassica_rapa_002.jpg/320px-Brassica_rapa_002.jpg" },
|
||||
{ id: "arugula", commonName: "Arugula", scientificName: "Eruca vesicaria", family: "Brassicaceae", category: "vegetable", careSummary: "Partial shade to full sun, consistent moisture, cool temperatures (55-65°F), well-drained soil, harvest young leaves for mild flavor.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/c/ce/Eruca_vesicaria_002.jpg/320px-Eruca_vesicaria_002.jpg" },
|
||||
{ id: "collard-greens", commonName: "Collard Greens", scientificName: "Brassica oleracea var. acephala", family: "Brassicaceae", category: "vegetable", careSummary: "Full sun (6-8h), consistent watering, cool temperatures (50-80°F), rich well-drained soil, harvest outer leaves continuously.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Brassica_oleracea_002.jpg/320px-Brassica_oleracea_002.jpg" },
|
||||
|
||||
// ── Vegetables (Fabaceae / Legumes) ────────────────────────────────────
|
||||
{ id: "bean", commonName: "Green Bean", scientificName: "Phaseolus vulgaris", family: "Fabaceae", category: "vegetable", careSummary: "Full sun (6-8h), moderate watering (keep soil evenly moist), warm temperatures (65-80°F), trellis for pole varieties, benefits from nitrogen-fixing roots.", imageUrl: "https://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/Phaseolus_vulgaris_003.jpg/320px-Phaseolus_v
|
||||
Reference in New Issue
Block a user