Skip to content

mrkinix/BcFarm

Repository files navigation

BCfarm

BCfarm is a modular, field-first agricultural management platform designed to streamline farm operations, record-keeping, and resource tracking. Built with Vue 3, Pinia, and Tailwind CSS, BCfarm unifies domain-specific farm management tools—from soil logging and equipment maintenance to satellite field views and financial accounting—into a single, responsive interface.

Left Screenshot Right Screenshot

Architecture & Design

BCfarm operates on a note-centered state model. Rather than forcing rigid data structures, entries are created as contextual notes that bind to specific operational modes (soil, livestock, tractor, accounting, etc.). The root application router dynamically resolves the appropriate view component based on the active note's metadata.

System Architecture

  • Context-Driven View Dispatcher: A unified state store (useFarmStore) tracks the active workspace mode and renders specialized domain modules dynamically without page reloads.
  • Hybrid Feed & Map Modes: Soil and field records toggle seamlessly between chronological activity feeds and geographical map overlays.
  • Mobile-First Runtime Engine: Integrated Hardware Back Button event handling for Capacitor/Cordova environments manages modal stacks, slide-over panels, and view navigation gracefully on mobile devices.
  • Non-Blocking Slide-Over Panels: Tools and live weather data are accessible from anywhere in the application via persistent overlay panels.
  • Automatic Telemetry: On startup, client-side GPS coordinates are fetched directly into the store to contextualize field entries and weather forecasts.

Workspace Modules

BCfarm provides 15 dedicated modules engineered for distinct agricultural workflows:

Module Identifier Key Capabilities
Soil Logging soil Field history, soil condition logs, dual Feed/Map rendering.
Machinery & Fleet tractor Equipment maintenance schedules, fuel tracking, and telemetry.
Storage & Inventory storage Grain silos, chemical storage, harvest stockpiles, and input levels.
Task Management tasks Daily farm operations, todo tracking, and completion status.
Livestock livestock Herd tracking, medical history, breeding logs, and feed allocation.
Accounting accounting Revenue, input costs, equipment depreciation, and cash flow logs.
Satellite Imagery satellite Field mapping, boundary visualization, and spatial analytics.
Farm Security security Perimeter monitoring, asset tracking, and site access records.
Weather & Climate weather Real-time weather overlays, forecasts, and microclimate tracking.
Farm Utilities tools Field calculators, unit conversions, and operational metrics.
Pest & Disease disease Crop health diagnostics, pest identification, and treatment logs.
General Notes note Unstructured field notes with integrated todo/checkbox toggles.
Marketing & Sales MarketingView Grain/produce market tracking, buyer contracts, and delivery schedules.
Infrastructure ConstructionView On-farm construction projects, fencing, and building maintenance.
Laboratory LaboratoryView Soil sample testing, water quality analysis, and tissue results.

Tech Stack

  • Frontend Framework: Vue 3 (Composition API with <script setup>)
  • State Management: Pinia (useFarmStore)
  • Styling: Tailwind CSS with native dark mode switching
  • Localization: Custom i18n engine (useI18n)
  • Mobile Platform: Capacitor / Cordova bridge for native hardware integrations (GPS, back button event stack)

Getting Started

Prerequisites

  • Node.js 18.x or higher
  • npm or pnpm

Installation

  1. Clone the repository:
    git clone [https://github.com/benchiboub/bcfarm.git](https://github.com/benchiboub/bcfarm.git)
    cd bcfarm

About

BcFarm: Open source farm management app

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages