Skip to content

Siddharth8800/PlantNext

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PlantNext

PlantNext is a comprehensive web application designed for plant enthusiasts and gardeners. It leverages the power of Next.js for the frontend and FastAPI for the backend, providing a seamless experience for users to interact with their garden data, receive plant care advice, and utilize image recognition for plant disease detection.

Features

  • Garden Management: Users can add, view, and manage their garden's plants through an intuitive interface.
  • Chatbot: A chatbot is available for users to ask questions related to plant care and receive instant advice.
  • Image Recognition: Users can upload images of their plants to detect potential diseases and receive suggestions for treatment. Yolov8 models are utilized for this purpose
  • Responsive Design: The application is fully responsive, ensuring a great user experience on both desktop and mobile devices.

Getting Started

Prerequisites

  • Node.js 20.0 or higher
  • Python 3.10 or higher
  • MongoDB
  • Docker (optional, for containerized deployment)

Installation

You can run PlantNext either locally or using Docker.

Local Installation

  1. Clone the repository:
git clone https://github.com/siddharth8800/PlantNext.git
cd PlantNext
  1. Install the frontend dependencies:
cd first
npm install
  1. Start the frontend server:
npm run dev

Open http://localhost:3000 to view the frontend application in the browser.

  1. Install the backend dependencies:
cd ../api
pip install -r requirements.txt
  1. Start the FastAPI server:
uvicorn main:app --reload

The FastAPI server will be available at http://localhost:8000.

Docker Installation

  1. Clone the repository:
git clone https://github.com/siddharth8800/PlantNext.git
cd PlantNext
  1. Build and run the backend Docker container:
cd api
docker build -t plantnext-backend .
docker run -d -p 8000:8000 plantnext-backend
  1. Install and run the frontend:
cd ../first
npm install
npm run dev

Note: The frontend is currently not containerized and needs to be run locally.

Configuration

  • Ensure MongoDB is running on your system.
  • You may need to adjust CORS settings in api/main.py to match your frontend's URL if it's different from the default.
  • When using Docker, make sure to update any environment variables or configuration files accordingly.

Usage

  • Garden Management: Navigate to the Garden page to add and manage your plants.
  • Chatbot: Access the Chatbot from the sidebar to ask questions and receive advice.
  • Image Recognition: Use the Upload feature to detect diseases in plant images.

Screenshots

Homescreen

WhatsApp Image 2024-10-03 at 9 02 56 PM

Assistant Screen

Here we use our Python backend server and the trained Yolov8 model to make predictions and a locally hosted LLM Mistral 7B running on Metal API to answer any queries the user has.

WhatsApp Image 2024-10-03 at 8 40 03 PM

WhatsApp Image 2024-10-03 at 8 40 03 PM (1)

Garden Screen

WhatsApp Image 2024-10-03 at 8 40 03 PM (2)

Releases

No releases published

Packages

No packages published