https://github.com/tasnim29/green-circle
A vibrant gardening community platform where users can share tips, explore gardener profiles, and join plant care discussions. Built with React, Firebase, MongoDB, and Node.js.
https://github.com/tasnim29/green-circle
crud daisyui express firebase mongodb-atlas nodejs react tailwindcss
Last synced: 3 months ago
JSON representation
A vibrant gardening community platform where users can share tips, explore gardener profiles, and join plant care discussions. Built with React, Firebase, MongoDB, and Node.js.
- Host: GitHub
- URL: https://github.com/tasnim29/green-circle
- Owner: tasnim29
- Created: 2025-06-25T04:09:43.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-25T07:59:49.000Z (about 1 year ago)
- Last Synced: 2025-06-25T08:32:08.504Z (about 1 year ago)
- Topics: crud, daisyui, express, firebase, mongodb-atlas, nodejs, react, tailwindcss
- Language: JavaScript
- Homepage: https://assignment-10-client-4fb64.web.app/
- Size: 1.44 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🌿 Green-Circle - Gardening Community & Resource Hub
Welcome to **Green-Circle**, a full-stack web application designed for gardening enthusiasts to explore, learn, share, and connect. This community-driven platform allows users to share tips, join gardening events, discover experienced gardeners, and get help for all their plant-care needs.

---
## 🔗 Live Website
🌐 [Green-Circle Live Site](https://assignment-10-client-4fb64.web.app/)
---
## 🚀 Technologies Used
### 🖥️ Frontend
- React.js
- React Router DOM
- Axios
- Tailwind CSS + DaisyUI
- Firebase Authentication
- React Hook Form
- Swiper.js
- Lottie React
- React Toastify / SweetAlert
### ⚙️ Backend
- Node.js
- Express.js
- MongoDB
- CORS
- Dotenv
- JWT
---
## 🧩 Key Features
- 🔐 Authentication with Firebase (Email/Password & Google Login)
- 🌱 Add, Update, Delete Gardening Tips (Private Routes with Firebase Auth)
- 📊 Tips Table with Filtering by Difficulty (Easy/Medium/Hard)
- 🏆 Top Trending Tips section with Like count update functionality
- 🧑🌾 Featured Gardeners showcase
- 🕵️ Explore Gardeners page with total shared tips
- 💡 Dark/Light Theme toggle (with context/state preservation)
- 🧭 Fully Responsive (Mobile + Desktop)
- 🧭 Reload & Private Route State Preservation
- 🚫 Custom 404 Page
- 🌀 Loading Spinner for data fetching
---
## 📦 Dependencies
### Client
```bash
"axios"
"react-router-dom"
"firebase"
"react-hook-form"
"swiper"
"lottie-react"
"react-toastify"
"daisyui"
"tailwindcss"
"react-icons"
"react-tooltip"
"react-awesome-reveal"
```
### Server
```bash
"express"
"cors"
"dotenv"
"mongodb"
"jsonwebtoken"
```
---
## 🛠️ How to Run This Project Locally
### 1. Clone the Repositories
```
git clone https://github.com/yourusername/echojournal-client.git
git clone https://github.com/yourusername/echojournal-server.git
```
### 2. Set Up the Client
```
cd echojournal-client
npm install
```
🔑 Environment Variables (Create .env file)
```
VITE_API_URL=https://your-server.vercel.app
VITE_FIREBASE_API_KEY=your_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
# Add all Firebase ENV keys
```
### 3. Set Up the Server
```
cd echojournal-server
npm install
```
🔑 Environment Variables (Create .env file)
```
PORT=5000
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_secret
```
### 4. Run the Client and Server
```
Client:npm run dev
server:nodemon index.js
```
---
## 🔗 Relevant Links
### 🔥 Firebase Docs: https://firebase.google.com/docs