Skip to content

mikiyas-girma/CMORSS-AI-plant-care

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CMORSS Agricare App

Welcome to the CMORSS Agricare App repository! This project is a fullstack web application that leverages AI technology to provide personalized plant care solutions. It was developed as part of the ALX SE FaceOff Cup Round of 11.

API Docs here

https://documenter.getpostman.com/view/35992601/2sAXqqbhFW

Table of Contents

Project Overview

CMORSS Agricare App is a comprehensive solution for plant enthusiasts and gardeners. It utilizes various APIs to offer tailored advice on plant care, agricultural practices, and seasonal planting. The application features plant identification through image upload, a personal plant journal, and integration with weather and Google Maps services for location-based recommendations.

Team Members

Features

  • AI-powered chat for plant care and seasonal planting advice
  • Plant identification through image upload
  • Personalized plant journal
  • Weather information widget
  • Plant of the day feature with images and facts
  • Google Maps integration for location-based visualization

Tech Stack

Frontend

  • ReactJS with TypeScript
  • Vite for build tooling
  • TailwindCSS for styling
  • Redux for state management
  • Google Maps JavaScript API for mapping features

Backend

  • ExpressJS with TypeScript
  • MongoDB for database
  • Redis for caching

APIs and Libraries

Frontend Libraries/API

Backend Libraries/API

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v14.0.0 or later)
  • npm (v6.0.0 or later)
  • MongoDB (v4.0.0 or later)
  • Redis

Installation

  1. Clone the repository:

    git clone https://github.com/your-repo/CMORSS-Agricare.git
    cd CMORSS-Agricare
  2. Install dependencies for both frontend and backend:

    cd frontend && npm install
    cd ../backend && npm install

Configuration

  1. Create a .env file in the frontend directory with:

    VITE_FIREBASE_API_KEY=your_firebase_api_key
    VITE_GOOGLE_MAPS_API_KEY=your_google_maps_api_key
  2. Create a .env file in the backend directory with:

    MONGO_URI=your_mongodb_uri
    JWT_SECRET_KEY=your_jwt_secret
    CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
    CLOUDINARY_API_KEY=your_cloudinary_api_key
    CLOUDINARY_API_SECRET=your_cloudinary_api_secret
    OPEN_WEATHER_API_KEY=your_openweather_api_key
    OPENAI_API_KEY=your_openai_api_key
    TMDB_API_KEY=your_tmdb_api_key
    REDIS_HOST=your_redis_host
    REDIS_PASSWORD=your_redis_password
    REDIS_PORT=your_redis_port
    GOOGLE_API_KEY=your_google_api_key
    PLANT_ID_API_KEY=your_plant_id_api_key (optional)

Running the Application

  1. Start the backend server:

    cd backend && npm run dev
  2. In a new terminal, start the frontend development server:

    cd frontend && npm run dev
  3. Open your browser and navigate to http://localhost:5173 to view the application.

Contributing

We welcome contributions to the CMORSS Agricare App! Please follow these steps to contribute:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

API Documentation

License

This project is licensed under the MIT License - see the LICENSE file for details.


Thank you for your interest in the CMORSS Agricare App! If you have any questions or issues, please open an issue in this repository.