{"id":24131558,"url":"https://github.com/arnie1x/farmflow","last_synced_at":"2026-04-18T01:01:37.818Z","repository":{"id":261587787,"uuid":"880702737","full_name":"Arnie1x/farmflow","owner":"Arnie1x","description":"FarmFlow is an AI-powered advisory platform designed to assist rice farmers in optimizing their agricultural practices. By combining expert farming knowledge with real-time insights, FarmFlow provides personalized recommendations on crop health, resource use, and cost-saving strategies.","archived":false,"fork":false,"pushed_at":"2025-01-13T10:07:16.000Z","size":18290,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-12T00:09:16.824Z","etag":null,"topics":["fastapi","huggingface","huggingface-inference-endpoint","langchain","llm","nuxtjs","python","retrieval-augmented-generation"],"latest_commit_sha":null,"homepage":"","language":"PLpgSQL","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/Arnie1x.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}},"created_at":"2024-10-30T07:41:37.000Z","updated_at":"2025-01-13T10:07:20.000Z","dependencies_parsed_at":"2025-06-12T00:06:08.255Z","dependency_job_id":"e784cac6-fd5e-4b6a-820f-f942f59f0532","html_url":"https://github.com/Arnie1x/farmflow","commit_stats":null,"previous_names":["arnie1x/farmflow"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Arnie1x/farmflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arnie1x%2Ffarmflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arnie1x%2Ffarmflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arnie1x%2Ffarmflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arnie1x%2Ffarmflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Arnie1x","download_url":"https://codeload.github.com/Arnie1x/farmflow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arnie1x%2Ffarmflow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31952206,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"ssl_error","status_checked_at":"2026-04-18T00:39:20.671Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["fastapi","huggingface","huggingface-inference-endpoint","langchain","llm","nuxtjs","python","retrieval-augmented-generation"],"created_at":"2025-01-11T21:18:02.773Z","updated_at":"2026-04-18T01:01:37.793Z","avatar_url":"https://github.com/Arnie1x.png","language":"PLpgSQL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FarmFlow\n\n[![wakatime](https://wakatime.com/badge/github/Arnie1x/farmflow.svg?style=for-the-badge)](https://wakatime.com/badge/github/Arnie1x/farmflow)\n\nFarmFlow is an AI-powered advisory platform designed to assist rice farmers in optimizing their agricultural practices. By combining expert farming knowledge with real-time insights, FarmFlow provides personalized recommendations on crop health, resource use, and cost-saving strategies. The platform features a user-friendly chatbot and integrates advanced language models to deliver accurate and actionable advice tailored to individual farm needs.\n\nThis application aims to make sustainable farming practices more accessible, helping farmers improve yields and reduce costs while addressing the challenges of modern agriculture.\n\n## Table of Contents\n\n- [Features](#features)\n- [Installation](#installation)\n- [Database](#database)\n- [Usage](#usage)\n- [Screenshots](#screenshots)\n\n## Features\n\n- **AI-Driven Chatbot**: Provides expert advice on crop health, soil management, pest control, and more through a natural and intuitive conversational interface.\n- **Real-Time Weather Insights**: Integrates with OpenWeatherAPI to deliver timely weather data and recommendations based on farm-specific conditions.\n- **Farm Activity Tracking**: Allows users to log farm events, offering insights into the relationship between activities and environmental conditions.\n- **Responsive Web Interface**: Developed with Nuxt.js for seamless user interaction across various devices.\n- **Customizable Backend**: Built with FastAPI and LangChain for efficient document processing, embedding generation, and AI integration. Uses HuggingFace Inference API for advanced language models such as the one used in this repository, `Qwen/Qwen2.5-Coder-32B-Instruct`.\n- **Modular Codebase**: Easy to set up and extend, ensuring flexibility for future development.\n- **Secure Database Management**: Utilizes Supabase with Row Level Security (RLS) for enhanced data security and role-based access control.\n\n## Installation\n\nFollow these steps to set up the project on your local machine:\n\n### Prerequisites\n- **Node.js** (v16+)\n- **pnpm** package manager\n- **Python** (v3.10+)\n- A virtual environment tool (e.g., `venv`)\n- `.env` file with required API keys and configuration details (copy template from `.env.example` and fill in the API Keys)\n\n### Setting up the Nuxt.js App\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/Arnie1x/farmflow.git\n   cd farmflow\n   ```\n\n2. Install dependencies using pnpm:\n   ```bash\n   pnpm install\n   ```\n\n3. Start the development server:\n   ```bash\n   pnpm run dev\n   ```\n\n4. Access the app at `http://localhost:3000`.\n\n### Setting up the Python Server\n\n1. Navigate to the Python server directory:\n   ```bash\n   cd python\n   ```\n\n2. Create a virtual environment:\n   ```bash\n   python -m venv venv\n   source venv/bin/activate    # On Windows: venv\\Scripts\\activate\n   ```\n\n3. Install the required Python packages:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n4. Run the FastAPI server:\n   ```bash\n   python main.py\n   # or\n   uvicorn main:app --reload\n   ```\n\n5. The server will be available at `http://localhost:8000`.\n\n## Database\n\nFarmFlow uses **Supabase** as its database solution, offering a secure and scalable backend for managing user and farm data. \n\n### Key Features:\n- **Schema Design**: The database schema is stored in the `/assets` directory of this repository. It includes tables for user profiles, farm activities, weather logs, and AI interactions.\n- **Row Level Security (RLS)**: Supabase's RLS ensures fine-grained access control, allowing only authorized users to view and modify specific data based on their roles.\n- **Real-Time Updates**: Leveraging Supabase's real-time capabilities, the database synchronizes user actions with the Nuxt.js frontend, ensuring a seamless user experience.\n\nTo set up the database, follow these steps:\n1. Navigate to the Supabase dashboard and create a new project.\n2. Import the schema located in `/assets/schema.sql` into the project by copy and pasting the SQL into the SQL editor and running it as a query.\n3. Configure RLS policies to secure your tables (examples provided in the schema file).\n\n## Usage\n\n1. Open the Nuxt.js app in your browser at `http://localhost:3000`.\n2. Use the chatbot to ask questions, or receive weather-based recommendations based on the farm that has been referenced before sending a chat message.\n3. The AI model will process user queries and provide tailored responses based on expert farming literature and real-time data.\n\n## Screenshots\n\n### Sign In\n![Sign In](public/screenshots/sign%20in.png)\n\n### Dashboard\n![Dashboard](public/screenshots/dashboard.png)\n\n### Chat Page\n![Chat](public/screenshots/chat.png)\n\n### Farm Page\n![Farm](public/screenshots/farm.png)\n\n### FAQ Page\n![FAQ](public/screenshots/faq.png)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farnie1x%2Ffarmflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farnie1x%2Ffarmflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farnie1x%2Ffarmflow/lists"}