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.
https://documenter.getpostman.com/view/35992601/2sAXqqbhFW
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.
- 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
- ReactJS with TypeScript
- Vite for build tooling
- TailwindCSS for styling
- Redux for state management
- Google Maps JavaScript API for mapping features
- ExpressJS with TypeScript
- MongoDB for database
- Redis for caching
- Google Maps JavaScript API and @react-google-maps/api for mapping features
- Firebase for authentication
- React Hook Form for form handling
- Zod for schema validation
- Axios for HTTP requests
- date-fns for date manipulation
- Sonner for toast notifications
- OpenAI API for AI-powered chat functionality and plant identification
- Google Cloud Generative AI (Gemini) for additional AI features
- plant.id API for optional plant identification
- Cloudinary for image storage and manipulation
- OpenWeather API for weather information
- TMDB API for trending movies - All plants and no movies makes a ....
- JWT for authentication
- bcrypt for password hashing
- Redis for caching
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
-
Clone the repository:
git clone https://github.com/your-repo/CMORSS-Agricare.git cd CMORSS-Agricare
-
Install dependencies for both frontend and backend:
cd frontend && npm install cd ../backend && npm install
-
Create a
.env
file in thefrontend
directory with:VITE_FIREBASE_API_KEY=your_firebase_api_key VITE_GOOGLE_MAPS_API_KEY=your_google_maps_api_key
-
Create a
.env
file in thebackend
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)
-
Start the backend server:
cd backend && npm run dev
-
In a new terminal, start the frontend development server:
cd frontend && npm run dev
-
Open your browser and navigate to
http://localhost:5173
to view the application.
We welcome contributions to the CMORSS Agricare App! Please follow these steps to contribute:
- Fork the repository
- Create a new branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
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.