🔗 Live Site URL: https://garden-nest.netlify.app/
Garden Nest is a social platform for garden enthusiasts made with React JS, to connect all gardeners. This is a resource for plant lovers, hobbyist gardeners, and experts too. Here, gardeners can share garden tips and tricks and discover local garden events. This project is fully responsive, so users across all platforms can use it seamlessly.
- 📅 Dynamic Home Banner: Event-themed slider using
swiperJSto view events. - 🧑🌾 Active Gardeners Spotlight: Homepage highlights top 6 “Active” gardener profiles fetched dynamically from MongoDB.
- 👥 Explore Gardeners: Browse gardener profiles with detailed info like experience, status, and number of shared tips.
- 🪴 Browse Tips: Users can view all gardening advice and tips shared publicly with filtering based on difficulty level (Easy, Medium, Hard).
- ✍️ Share a Garden Tip: Users can post their own tips and tricks (publicly/privately); all public tips will be visible in the browse route.
- 🔄 Update Tip: Users can update their own tips.
- 🗑️ Delete Tip: Users can delete their own tips with a confirm alert.
- 🛠️ Full Backend CRUD Functionality: Users can create, read, update, and delete their own tips.
- ❤️ Like & Trending System: Users can like gardening tips.
- 🌗 Dark/Light Mode: Toggle between light and dark themes from the navbar.
- 🔐 Authentication System: Users can sign in/sign up using Email/Password or Google. Includes password validation, show/hide password, and secure private routes.
- 📱 Fully Responsive: Optimized for mobile, tablet, and desktop screens.
- Frontend: React, Tailwind CSS, DaisyUI
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: Firebase (Email/Password + Google Sign-In)
- Routing: React Router
swiperJS– for the homepage slider.sweet-alert2– for success/error messages.lottie-react– for error page animations.react-tooltip– to show username on hover in the navbar.react-icons– for all icons used in the project.react-helmet– for dynamic page titles based on routes.dotenv– to secure sensitive Firebase config & MongoDB credentials.
- Clone the Repository
https://github.com/noboKumar/Garden-Nest-Client.git
cd Garden-Nest-Client- Install Dependencies
npm install- Set Environment Variables
Create a .env file in the root directory:
VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id
VITE_SERVER_URL=http://localhost:5000- Start the Development Server
npm run devApp will run at http://localhost:5173
- Navigate to Backend Folder (if it's a separate folder like
/server):
cd server- Install Backend Dependencies
npm install- Create a
.envfile
PORT=5000
MONGODB_URI=your_mongodb_connection_string- Start the Backend Server
npm run devServer will run at http://localhost:5000