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.
- 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.
- Node.js 20.0 or higher
- Python 3.10 or higher
- MongoDB
- Docker (optional, for containerized deployment)
You can run PlantNext either locally or using Docker.
- Clone the repository:
git clone https://github.com/siddharth8800/PlantNext.git
cd PlantNext
- Install the frontend dependencies:
cd first
npm install
- Start the frontend server:
npm run dev
Open http://localhost:3000
to view the frontend application in the browser.
- Install the backend dependencies:
cd ../api
pip install -r requirements.txt
- Start the FastAPI server:
uvicorn main:app --reload
The FastAPI server will be available at http://localhost:8000
.
- Clone the repository:
git clone https://github.com/siddharth8800/PlantNext.git
cd PlantNext
- Build and run the backend Docker container:
cd api
docker build -t plantnext-backend .
docker run -d -p 8000:8000 plantnext-backend
- 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.
- 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.
- 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.
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.