{"id":19056339,"url":"https://github.com/chanmeng666/biosecurity","last_synced_at":"2026-04-02T03:03:45.996Z","repository":{"id":236890985,"uuid":"762647568","full_name":"ChanMeng666/biosecurity","owner":"ChanMeng666","description":"【Hit that ⭐️ if you like what you see!】A Flask-based web application serving as a comprehensive biosecurity guide for agricultural pests and weeds in New Zealand. Features role-based access control, detailed pest/weed information management, and responsive design for agronomists, staff, and administrators.","archived":false,"fork":false,"pushed_at":"2026-03-22T04:15:29.000Z","size":1058,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-22T19:28:49.928Z","etag":null,"topics":["agriculture","biosecurity","bootstrap","database-management","flask","mysql","pest-management","python","role-based-access","web-application"],"latest_commit_sha":null,"homepage":"https://biosecurity-guide-app-a582c65bb9ec.herokuapp.com/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChanMeng666.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"chanmeng66u","thanks_dev":null,"custom":null}},"created_at":"2024-02-24T09:47:41.000Z","updated_at":"2026-03-22T04:15:42.000Z","dependencies_parsed_at":"2026-01-01T12:04:06.696Z","dependency_job_id":null,"html_url":"https://github.com/ChanMeng666/biosecurity","commit_stats":null,"previous_names":["chanmeng666/biosecurity"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ChanMeng666/biosecurity","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChanMeng666%2Fbiosecurity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChanMeng666%2Fbiosecurity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChanMeng666%2Fbiosecurity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChanMeng666%2Fbiosecurity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChanMeng666","download_url":"https://codeload.github.com/ChanMeng666/biosecurity/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChanMeng666%2Fbiosecurity/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31294828,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T01:43:37.129Z","status":"online","status_checked_at":"2026-04-02T02:00:08.535Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agriculture","biosecurity","bootstrap","database-management","flask","mysql","pest-management","python","role-based-access","web-application"],"created_at":"2024-11-08T23:49:07.448Z","updated_at":"2026-04-02T03:03:45.983Z","avatar_url":"https://github.com/ChanMeng666.png","language":"HTML","funding_links":["https://buymeacoffee.com/chanmeng66u"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n# Biosecurity Guide for Agricultural Pests \u0026 Weeds\n\nA comprehensive digital platform for identifying, understanding, and managing agricultural pests and weeds.\u003cbr/\u003e\nBuilt for agronomists, staff, and administrators with role-based access control and a growing guide library.\u003cbr/\u003e\n\n[Issues][github-issues-link]\n\n\u003cbr/\u003e\n\n\u003c!-- SHIELD GROUP --\u003e\n\n[![][github-contributors-shield]][github-contributors-link]\n[![][github-forks-shield]][github-forks-link]\n[![][github-stars-shield]][github-stars-link]\n[![][github-issues-shield]][github-issues-link]\n[![][github-license-shield]][github-license-link]\n\n**Share Project Repository**\n\n[![][share-x-shield]][share-x-link]\n[![][share-telegram-shield]][share-telegram-link]\n[![][share-whatsapp-shield]][share-whatsapp-link]\n[![][share-reddit-shield]][share-reddit-link]\n[![][share-weibo-shield]][share-weibo-link]\n[![][share-mastodon-shield]][share-mastodon-link]\n[![][share-linkedin-shield]][share-linkedin-link]\n\n**Tech Stack:**\n\n\u003cimg src=\"https://img.shields.io/badge/next.js-%23000000.svg?style=for-the-badge\u0026logo=nextdotjs\u0026logoColor=white\"/\u003e\n\u003cimg src=\"https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge\u0026logo=react\u0026logoColor=%2361DAFB\"/\u003e\n\u003cimg src=\"https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\"/\u003e\n\u003cimg src=\"https://img.shields.io/badge/tailwindcss-%2338B2AC.svg?style=for-the-badge\u0026logo=tailwindcss\u0026logoColor=white\"/\u003e\n\u003cimg src=\"https://img.shields.io/badge/postgresql-%23336791.svg?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white\"/\u003e\n\u003cimg src=\"https://img.shields.io/badge/drizzle-%23C5F74F.svg?style=for-the-badge\u0026logo=drizzle\u0026logoColor=black\"/\u003e\n\n\u003c/div\u003e\n\n\u003e [!IMPORTANT]\n\u003e This project is a modern full-stack biosecurity information system built with Next.js 16, React 19, Better Auth, Drizzle ORM, and Neon PostgreSQL. It provides role-based dashboards for administrators, staff, and agronomists to manage and browse pest and weed identification guides with detailed scientific data, images, and control methods.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ckbd\u003eTable of Contents\u003c/kbd\u003e\u003c/summary\u003e\n\n#### TOC\n\n- [Introduction](#-introduction)\n- [Key Features](#-key-features)\n- [Tech Stack](#%EF%B8%8F-tech-stack)\n- [Getting Started](#-getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Quick Installation](#quick-installation)\n  - [Environment Setup](#environment-setup)\n  - [Database Setup](#database-setup)\n  - [Development Mode](#development-mode)\n- [Project Structure](#-project-structure)\n- [Contributing](#-contributing)\n- [License](#-license)\n- [Author](#%EF%B8%8F-author)\n\n####\n\n\u003cbr/\u003e\n\n\u003c/details\u003e\n\n\u003c!-- ═══════════════════════════════════════════════════════════════════════════ --\u003e\n\n## Introduction\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\n\u003ch4\u003eAbout This Project\u003c/h4\u003e\n\nThe **Biosecurity Guide** is a comprehensive digital platform designed to support agricultural professionals in identifying, understanding, and managing pests and weeds. The system provides a centralized guide library with detailed information on pest and weed characteristics, biology, impacts, and control methods — all backed by visual references.\n\nThe platform supports three distinct user roles — **Administrator**, **Staff**, and **Agronomist** — each with tailored dashboards and capabilities, ensuring the right level of access for every user.\n\n\u003ch4\u003eWhy This Project Exists\u003c/h4\u003e\n\nAgricultural biosecurity is critical for protecting crops, ecosystems, and food supply chains. Agronomists and field workers need quick, reliable access to pest and weed identification data to make timely decisions. This platform consolidates that information into a searchable, managed, and role-protected system — replacing scattered documents and outdated references with a modern, responsive web application.\n\n\u003ch4\u003eGoals\u003c/h4\u003e\n\n- Provide a centralized, searchable library of pest and weed identification guides\n- Enable role-based management of biosecurity information across organizations\n- Deliver a modern, responsive web experience for field and office use\n- Support data-driven decision making with structured scientific information\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003e [!NOTE]\n\u003e - Node.js \u003e= 18.0 required\n\u003e - Neon PostgreSQL account required for database\n\u003e - Better Auth secret required for authentication\n\n[![][back-to-top]](#readme-top)\n\n\u003c!-- ═══════════════════════════════════════════════════════════════════════════ --\u003e\n\n## Key Features\n\n### `1` Pest Identification\n\nDetailed guides on agricultural pests including common and scientific names, key characteristics, biology, impacts, and control methods — all with visual image references to aid field identification.\n\nKey capabilities:\n- Comprehensive pest profiles with scientific data\n- Multiple image support per guide entry\n- Structured control method recommendations\n- Impact assessment information\n\n### `2` Weed Management\n\nComprehensive weed identification and control guides to protect agricultural productivity and biodiversity. Each entry includes lifecycle data, distinguishing characteristics, and recommended management strategies.\n\n### `3` Role-Based Access Control\n\nThree distinct user roles with tailored dashboards and permissions:\n\n| Role | Capabilities |\n|------|-------------|\n| **Administrator** | Full platform access — manage guides, staff, agronomists, and all system settings |\n| **Staff** | Create, edit, and delete guides; view agronomist profiles; manage own profile |\n| **Agronomist** | Browse and search the guide library; manage own profile |\n\n### `4` Guide Library \u0026 Smart Search\n\nBrowse and search through the guide library with powerful filtering capabilities:\n\n- Field-specific filtering (common name, scientific name, characteristics, biology, impacts, control)\n- Case-insensitive search matching\n- Pagination for large datasets\n- Filter by type (pest or weed)\n\n### `*` Additional Features\n\n- [x] Secure authentication with server-side sessions (Better Auth)\n- [x] Image carousel for visual guide references\n- [x] Responsive design for desktop and mobile use\n- [x] Light/dark theme support\n- [x] Profile management for all user roles\n- [x] Form validation with Zod schemas\n- [x] Modern UI with shadcn/ui components\n\n\u003cdiv align=\"right\"\u003e\n\n[![][back-to-top]](#readme-top)\n\n\u003c/div\u003e\n\n\u003c!-- ═══════════════════════════════════════════════════════════════════════════ --\u003e\n\n## Tech Stack\n\n\u003cdiv align=\"center\"\u003e\n  \u003ctable\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" width=\"96\"\u003e\n        \u003cimg src=\"https://cdn.simpleicons.org/nextdotjs\" width=\"48\" height=\"48\" alt=\"Next.js\" /\u003e\n        \u003cbr\u003eNext.js 16\n      \u003c/td\u003e\n      \u003ctd align=\"center\" width=\"96\"\u003e\n        \u003cimg src=\"https://cdn.simpleicons.org/react\" width=\"48\" height=\"48\" alt=\"React\" /\u003e\n        \u003cbr\u003eReact 19\n      \u003c/td\u003e\n      \u003ctd align=\"center\" width=\"96\"\u003e\n        \u003cimg src=\"https://cdn.simpleicons.org/typescript\" width=\"48\" height=\"48\" alt=\"TypeScript\" /\u003e\n        \u003cbr\u003eTypeScript 5\n      \u003c/td\u003e\n      \u003ctd align=\"center\" width=\"96\"\u003e\n        \u003cimg src=\"https://cdn.simpleicons.org/tailwindcss\" width=\"48\" height=\"48\" alt=\"Tailwind CSS\" /\u003e\n        \u003cbr\u003eTailwind CSS 4\n      \u003c/td\u003e\n      \u003ctd align=\"center\" width=\"96\"\u003e\n        \u003cimg src=\"https://cdn.simpleicons.org/postgresql\" width=\"48\" height=\"48\" alt=\"PostgreSQL\" /\u003e\n        \u003cbr\u003eNeon PostgreSQL\n      \u003c/td\u003e\n      \u003ctd align=\"center\" width=\"96\"\u003e\n        \u003cimg src=\"https://cdn.simpleicons.org/drizzle\" width=\"48\" height=\"48\" alt=\"Drizzle\" /\u003e\n        \u003cbr\u003eDrizzle ORM\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n**Frontend:**\n- **Framework**: Next.js 16 with App Router\n- **Language**: TypeScript for type safety\n- **Styling**: Tailwind CSS 4 + tw-animate-css\n- **UI Components**: shadcn/ui (Base UI React)\n- **Icons**: Lucide React\n- **Themes**: next-themes for light/dark mode\n- **Notifications**: Sonner toast system\n\n**Backend:**\n- **Runtime**: Next.js API Routes (Node.js)\n- **Authentication**: Better Auth with email/password and server-side sessions\n- **Database ORM**: Drizzle ORM with type-safe queries\n- **Validation**: Zod schema validation\n\n**Database:**\n- **Provider**: Neon serverless PostgreSQL\n- **Migrations**: Drizzle Kit\n- **Schema**: Custom tables for users, guides, images, profiles with role-based enums\n\n[![][back-to-top]](#readme-top)\n\n\u003c!-- ═══════════════════════════════════════════════════════════════════════════ --\u003e\n\n## Getting Started\n\n### Prerequisites\n\n\u003e [!IMPORTANT]\n\u003e Ensure you have the following installed:\n\n- Node.js 18.0+ ([Download](https://nodejs.org/))\n- npm package manager\n- Git ([Download](https://git-scm.com/))\n- A [Neon](https://neon.tech/) PostgreSQL database account\n\n### Quick Installation\n\n**1. Clone Repository**\n\n```bash\ngit clone https://github.com/ChanMeng666/biosecurity.git\ncd biosecurity\n```\n\n**2. Install Dependencies**\n\n```bash\nnpm install\n```\n\n### Environment Setup\n\n**3. Configure Environment Variables**\n\n```bash\n# Copy environment template\ncp .env.example .env.local\n\n# Edit environment variables\nnano .env.local\n```\n\nCreate `.env.local` with the following variables:\n\n```bash\n# Neon Database (get from neonctl connection-string)\nDATABASE_URL=postgresql://user:password@ep-xxx.us-east-2.aws.neon.tech/neondb?sslmode=require\n\n# Better Auth (generate a random 32+ character secret)\nBETTER_AUTH_SECRET=your-random-secret-here\nBETTER_AUTH_URL=http://localhost:3000\n\n# App URL\nNEXT_PUBLIC_APP_URL=http://localhost:3000\n```\n\n**Quick Reference:**\n\n| Variable | Required | Purpose |\n|----------|----------|---------|\n| `DATABASE_URL` | Yes | Neon PostgreSQL connection string |\n| `BETTER_AUTH_SECRET` | Yes | Auth encryption key (32+ chars) |\n| `BETTER_AUTH_URL` | Yes | Auth base URL |\n| `NEXT_PUBLIC_APP_URL` | Yes | Public-facing app URL |\n\n\u003e [!TIP]\n\u003e Use `openssl rand -base64 32` to generate a secure random secret for `BETTER_AUTH_SECRET`.\n\n### Database Setup\n\n**4. Run Database Migrations**\n\n```bash\n# Generate migration files from schema\nnpm run db:generate\n\n# Push schema to database\nnpm run db:push\n```\n\n\u003e [!TIP]\n\u003e Use `npm run db:studio` to open the Drizzle Studio GUI for browsing your database.\n\n### Development Mode\n\n**5. Start Development Server**\n\n```bash\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) to view the application.\n\n**Available Scripts:**\n\n```bash\nnpm run dev          # Start dev server with hot reload\nnpm run build        # Production build\nnpm run start        # Start production server\nnpm run lint         # Run ESLint\nnpm run db:generate  # Generate Drizzle migration files\nnpm run db:push      # Push schema changes to database\nnpm run db:migrate   # Run pending migrations\nnpm run db:studio    # Open Drizzle Studio database GUI\n```\n\n[![][back-to-top]](#readme-top)\n\n\u003c!-- ═══════════════════════════════════════════════════════════════════════════ --\u003e\n\n## Project Structure\n\n```\nsrc/\n├── app/                          # Next.js App Router\n│   ├── (auth)/                   # Authentication routes\n│   │   ├── login/                # Login page\n│   │   └── register/             # Registration pages\n│   │       ├── admin/            # Admin registration\n│   │       ├── agronomist/       # Agronomist registration\n│   │       └── staff/            # Staff registration\n│   ├── (dashboard)/              # Protected dashboard routes\n│   │   ├── admin/                # Admin dashboard\n│   │   │   ├── manage-guides/    # Guide CRUD management\n│   │   │   ├── manage-agronomists/ # Agronomist management\n│   │   │   └── manage-staff/     # Staff management\n│   │   ├── agronomist/           # Agronomist dashboard\n│   │   │   └── guides/           # Guide browsing\n│   │   └── staff/                # Staff dashboard\n│   │       ├── manage-guides/    # Guide CRUD management\n│   │       └── view-agronomists/ # View agronomist profiles\n│   ├── api/                      # API routes\n│   │   ├── auth/[...all]/        # Better Auth handler\n│   │   ├── guides/               # Guide CRUD endpoints\n│   │   ├── agronomists/          # Agronomist endpoints\n│   │   ├── staff/                # Staff endpoints\n│   │   └── profile/              # Profile endpoints\n│   └── sources/                  # Sources \u0026 credits page\n├── components/\n│   ├── ui/                       # shadcn/ui base components\n│   ├── guides/                   # Guide-specific components\n│   ├── layout/                   # Navbar, dashboard shell\n│   ├── shared/                   # Confirm dialog, data table\n│   └── users/                    # Profile editor\n└── lib/\n    ├── auth/                     # Better Auth config \u0026 helpers\n    ├── db/                       # Drizzle ORM, schema, migrations\n    └── validators/               # Zod validation schemas\n```\n\n[![][back-to-top]](#readme-top)\n\n\u003c!-- ═══════════════════════════════════════════════════════════════════════════ --\u003e\n\n## Contributing\n\nContributions are welcome! Here's how you can help:\n\n1. **Fork** the repository\n2. **Create** a feature branch (`git checkout -b feature/amazing-feature`)\n3. **Commit** your changes (`git commit -m 'Add amazing feature'`)\n4. **Push** to the branch (`git push origin feature/amazing-feature`)\n5. **Open** a Pull Request\n\n**Guidelines:**\n- Follow TypeScript best practices\n- Use the existing code style and ESLint configuration\n- Test your changes locally before submitting\n- Write clear commit messages\n\n[![][pr-welcome-shield]][pr-welcome-link]\n\n### Contributors\n\n\u003ca href=\"https://github.com/ChanMeng666/biosecurity/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=ChanMeng666/biosecurity\" /\u003e\n\u003c/a\u003e\n\n[![][back-to-top]](#readme-top)\n\n\u003c!-- ═══════════════════════════════════════════════════════════════════════════ --\u003e\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n[![][back-to-top]](#readme-top)\n\n\u003c!-- ═══════════════════════════════════════════════════════════════════════════ --\u003e\n\n## Author\n\n**Chan Meng**\n\n\u003cp\u003e\n  \u003ca href=\"https://www.linkedin.com/in/chanmeng666/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/LinkedIn-chanmeng666-0A66C2?style=flat\u0026logo=linkedin\u0026logoColor=white\" alt=\"LinkedIn\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ChanMeng666\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/GitHub-ChanMeng666-181717?style=flat\u0026logo=github\u0026logoColor=white\" alt=\"GitHub\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"mailto:chanmeng.dev@gmail.com\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Email-chanmeng.dev@gmail.com-EA4335?style=flat\u0026logo=gmail\u0026logoColor=white\" alt=\"Email\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://chanmeng.org/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Website-chanmeng.org-4285F4?style=flat\u0026logo=googlechrome\u0026logoColor=white\" alt=\"Website\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\u003cstrong\u003eProtecting Agriculture Through Knowledge\u003c/strong\u003e\n\u003cbr/\u003e\n\u003cem\u003eA comprehensive biosecurity guide for agricultural pest and weed management\u003c/em\u003e\n\u003cbr/\u003e\u003cbr/\u003e\n\n\u003cimg src=\"https://img.shields.io/github/stars/ChanMeng666/biosecurity?style=social\" alt=\"GitHub stars\"\u003e\n\u003cimg src=\"https://img.shields.io/github/forks/ChanMeng666/biosecurity?style=social\" alt=\"GitHub forks\"\u003e\n\u003cimg src=\"https://img.shields.io/github/watchers/ChanMeng666/biosecurity?style=social\" alt=\"GitHub watchers\"\u003e\n\n\u003c/div\u003e\n\n---\n\n\u003c!-- LINK DEFINITIONS --\u003e\n\n[back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square\n\n\u003c!-- GitHub Links --\u003e\n[github-issues-link]: https://github.com/ChanMeng666/biosecurity/issues\n[github-stars-link]: https://github.com/ChanMeng666/biosecurity/stargazers\n[github-forks-link]: https://github.com/ChanMeng666/biosecurity/forks\n[github-contributors-link]: https://github.com/ChanMeng666/biosecurity/contributors\n[github-license-link]: https://github.com/ChanMeng666/biosecurity/blob/main/LICENSE\n[pr-welcome-link]: https://github.com/ChanMeng666/biosecurity/pulls\n\n\u003c!-- Shield Badges --\u003e\n[github-contributors-shield]: https://img.shields.io/github/contributors/ChanMeng666/biosecurity?color=c4f042\u0026labelColor=black\u0026style=flat-square\n[github-forks-shield]: https://img.shields.io/github/forks/ChanMeng666/biosecurity?color=8ae8ff\u0026labelColor=black\u0026style=flat-square\n[github-stars-shield]: https://img.shields.io/github/stars/ChanMeng666/biosecurity?color=ffcb47\u0026labelColor=black\u0026style=flat-square\n[github-issues-shield]: https://img.shields.io/github/issues/ChanMeng666/biosecurity?color=ff80eb\u0026labelColor=black\u0026style=flat-square\n[github-license-shield]: https://img.shields.io/badge/license-MIT-white?labelColor=black\u0026style=flat-square\n[pr-welcome-shield]: https://img.shields.io/badge/PRs_welcome-%E2%86%92-ffcb47?labelColor=black\u0026style=for-the-badge\n\n\u003c!-- Social Share Links --\u003e\n[share-x-link]: https://x.com/intent/tweet?hashtags=biosecurity%2Cagriculture\u0026text=Check%20out%20this%20Biosecurity%20Guide%20for%20Agricultural%20Pests%20%26%20Weeds\u0026url=https%3A%2F%2Fgithub.com%2FChanMeng666%2Fbiosecurity\n[share-telegram-link]: https://t.me/share/url?text=Biosecurity%20Guide%20for%20Agricultural%20Pests%20%26%20Weeds\u0026url=https%3A%2F%2Fgithub.com%2FChanMeng666%2Fbiosecurity\n[share-whatsapp-link]: https://api.whatsapp.com/send?text=Check%20out%20this%20Biosecurity%20Guide%20https%3A%2F%2Fgithub.com%2FChanMeng666%2Fbiosecurity\n[share-reddit-link]: https://www.reddit.com/submit?title=Biosecurity%20Guide%20for%20Agricultural%20Pests%20%26%20Weeds\u0026url=https%3A%2F%2Fgithub.com%2FChanMeng666%2Fbiosecurity\n[share-weibo-link]: http://service.weibo.com/share/share.php?title=Biosecurity%20Guide%20for%20Agricultural%20Pests%20%26%20Weeds\u0026url=https%3A%2F%2Fgithub.com%2FChanMeng666%2Fbiosecurity\n[share-mastodon-link]: https://mastodon.social/share?text=Biosecurity%20Guide%20for%20Agricultural%20Pests%20%26%20Weeds%20https://github.com/ChanMeng666/biosecurity\n[share-linkedin-link]: https://linkedin.com/sharing/share-offsite/?url=https://github.com/ChanMeng666/biosecurity\n\n[share-x-shield]: https://img.shields.io/badge/-share%20on%20x-black?labelColor=black\u0026logo=x\u0026logoColor=white\u0026style=flat-square\n[share-telegram-shield]: https://img.shields.io/badge/-share%20on%20telegram-black?labelColor=black\u0026logo=telegram\u0026logoColor=white\u0026style=flat-square\n[share-whatsapp-shield]: https://img.shields.io/badge/-share%20on%20whatsapp-black?labelColor=black\u0026logo=whatsapp\u0026logoColor=white\u0026style=flat-square\n[share-reddit-shield]: https://img.shields.io/badge/-share%20on%20reddit-black?labelColor=black\u0026logo=reddit\u0026logoColor=white\u0026style=flat-square\n[share-weibo-shield]: https://img.shields.io/badge/-share%20on%20weibo-black?labelColor=black\u0026logo=sinaweibo\u0026logoColor=white\u0026style=flat-square\n[share-mastodon-shield]: https://img.shields.io/badge/-share%20on%20mastodon-black?labelColor=black\u0026logo=mastodon\u0026logoColor=white\u0026style=flat-square\n[share-linkedin-shield]: https://img.shields.io/badge/-share%20on%20linkedin-black?labelColor=black\u0026logo=linkedin\u0026logoColor=white\u0026style=flat-square\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchanmeng666%2Fbiosecurity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchanmeng666%2Fbiosecurity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchanmeng666%2Fbiosecurity/lists"}