An open API service indexing awesome lists of open source software.

https://github.com/nandkumar1000/ecobuddy

EcoBuddy connects users with eco-friendly resources like EV charging stations, community gardens, wildlife parks, and more. It’s a platform promoting sustainable living through accessible, green facilities. 🌱
https://github.com/nandkumar1000/ecobuddy

authentication bootstrap cookies css cursor-theme ejs ejs-template-engine express-session expressjs flash flash-messages html js mongodb mongoose node oauth2 passportjs

Last synced: 3 months ago
JSON representation

EcoBuddy connects users with eco-friendly resources like EV charging stations, community gardens, wildlife parks, and more. It’s a platform promoting sustainable living through accessible, green facilities. 🌱

Awesome Lists containing this project

README

          

### **🌍 EcoBuddy - Your Gateway to a Greener Future**

![EcoBuddy GIF](https://media.giphy.com/media/26BGD4XaoPO3zTz9K/giphy.gif)

🌱 **EcoBuddy** is a smart, all-in-one platform that helps you find and access environment-friendly resources effortlessly. Whether it’s **EV charging stations**, **community gardens**, **wildlife parks**, or **eco-friendly event spaces**, EcoBuddy connects you with sustainable options in just a few clicks.

> **Empower a greener lifestyle, one resource at a time.**

---

## **πŸ“– Overview**
As the world shifts toward sustainability, finding and utilizing eco-friendly resources should be easier. **EcoBuddy** simplifies this by offering:
βœ… **Real-time locations** of EV charging stations, parks, gardens, and more.
βœ… **User-friendly search** with Google Maps integration.
βœ… **Secure authentication** using Google OAuth 2.0.
βœ… **Community-driven features** like reviews and event scheduling.
πŸ‘‰ Flash Messaging for real-time success/error alerts.

πŸ’‘ Whether you're an **EV owner, a nature enthusiast, an event planner, or a fitness lover**, EcoBuddy is here to help you **embrace an eco-conscious lifestyle effortlessly**.

---

## **πŸš€ Key Features**

### **🌿 Discover & Access Sustainable Resources**
- πŸ”‹ **EV Charging Stations** – Find nearby electric vehicle charging points with real-time availability.
- 🌱 **Community Gardens** – Join urban gardening initiatives and contribute to green spaces.
- πŸ€ **Eco-Friendly Sports Complexes** – Stay fit while reducing environmental impact.
- 🐾 **Wildlife Parks & Green Zones** – Locate nature reserves and biodiversity hotspots.
- πŸ› **Event Venues** – Reserve sustainable halls and eco-conscious event spaces.

### **⚑ Smart & Secure Platform**
- πŸ” **Google OAuth 2.0 Authentication** – Hassle-free, secure login.
- πŸ“ **Google Maps API Integration** – Location-based search for seamless navigation.
- πŸ›  **Multer for File Uploads** – Share images and documents related to listings.
- πŸ“ **User Reviews & Ratings** – Contribute feedback to improve resource listings.
- πŸ“Š **Admin Dashboard** – Track user engagement and resource utilization.

---

## **πŸ›  Technology Stack**

| **Category** | **Technologies Used** |
|-------------------|----------------------|
| 🌐 **Frontend** | HTML, CSS, Bootstrap, JavaScript, EJS |
| πŸ”₯ **Backend** | Node.js, Express.js |
| πŸ›’ **Database** | MongoDB (Mongoose ORM) |
| πŸ”‘ **Authentication** | Google OAuth 2.0, Passport.js |
| πŸ“ **APIs** | Google Maps API, RESTful API |
| πŸ“‚ **File Uploads** | Multer (image/doc uploads) |
| πŸ”’ **Session Management** | Cookies & Flash Tokens |
| πŸš€ **Deployment** | Vercel / Heroku / DigitalOcean |
| πŸ”„ **Version Control** | Git & GitHub |

---

## **πŸ“‚ Project File Structure**

```
EcoBuddy/
β”œβ”€β”€ public/ # Static assets (CSS, images)
β”‚ β”œβ”€β”€ assets/
β”‚ β”œβ”€β”€ styles/
β”‚ β”œβ”€β”€ images/
β”œβ”€β”€ src/
β”‚ β”œβ”€β”€ controllers/
β”‚ β”‚ β”œβ”€β”€ listingsController.js
β”‚ β”‚ β”œβ”€β”€ reviewController.js
β”‚ β”‚ └── navigationController.js
β”‚ β”œβ”€β”€ middlewares/
β”‚ β”‚ β”œβ”€β”€ authMiddleware.js
β”‚ β”‚ β”œβ”€β”€ errorHandler.js
β”‚ β”œβ”€β”€ models/ # MongoDB Schemas
β”‚ β”‚ β”œβ”€β”€ User.js
β”‚ β”‚ β”œβ”€β”€ Listing.js
β”‚ β”‚ β”œβ”€β”€ Review.js
β”‚ β”œβ”€β”€ routes/ # API route handlers
β”‚ β”‚ β”œβ”€β”€ listingsRouter.js
β”‚ β”‚ β”œβ”€β”€ reviewRouter.js
β”‚ β”‚ β”œβ”€β”€ userRouter.js
β”‚
β”‚ β”‚
β”‚ β”‚
β”‚ β”œβ”€β”€ views/ # EJS Templates
β”‚ β”‚ β”œβ”€β”€ layout.ejs
β”‚ β”‚ β”œβ”€β”€ index.ejs
β”‚ β”‚ β”œβ”€β”€ dashboard.ejs
β”‚ β”œβ”€β”€ config/ # Configuration files
β”‚ β”‚ β”œβ”€β”€ database.js
β”‚ β”‚ β”œβ”€β”€ passport.js
β”‚ β”œβ”€β”€ app.js # Main Express.js application
β”œβ”€β”€ .env # Environment variables
β”œβ”€β”€ package.json # Dependencies & scripts
β”œβ”€β”€ README.md # Project documentation
```

---

## **πŸ›  How to Install & Run Locally**

### **1️⃣ Clone the Repository**
```bash
git clone https://github.com/NandKumarSahu/EcoBuddy.git
```

### **2️⃣ Navigate to the Project Directory**
```bash
cd EcoBuddy
```

### **3️⃣ Install Dependencies**
```bash
npm install
```

### **4️⃣ Set Up Environment Variables**
Create a `.env` file and add:
```env
DATABASE_URL=your_mongodb_connection_string
SESSION_SECRET=your_session_secret
GOOGLE_CLIENT_ID=your_google_oauth_client_id
GOOGLE_CLIENT_SECRET=your_google_oauth_client_secret
API_KEY=your_google_maps_api_key
```

### **5️⃣ Start the Application**
```bash
npx nodemon app.js
```

### **6️⃣ Open in Browser**
Go to: `http://localhost:8080`

---

## **πŸ’‘ Use Cases**

πŸš— **For EV Owners** β†’ Quickly locate available **charging stations**.
🌳 **For Nature Enthusiasts** β†’ Discover **parks, sanctuaries, and green spaces**.
πŸ‹οΈ **For Fitness Lovers** β†’ Find **eco-friendly sports complexes**.
🎭 **For Event Planners** β†’ Book **sustainable event venues**.
🌍 **For Community Builders** β†’ Organize and join **local sustainability events**.

---

## **πŸ“’ How to Contribute**

πŸ’‘ **Got ideas? Found a bug?** We’d love your contributions!
Follow these steps:

1. **Fork the repository**
2. **Create a new feature branch**
```bash
git checkout -b feature-name
```
3. **Commit changes**
```bash
git commit -m "Add feature XYZ"
```
4. **Push to GitHub**
```bash
git push origin feature-name
```
5. **Submit a Pull Request** πŸš€

---

---

## **πŸ‘¨β€πŸ’» Developer & Contact**

πŸ’¬ **Questions? Need support?**
πŸ“§ Email: [contact on email](mailto:your.shivanandvansal9520@gmail.com)
πŸ”— LinkedIn: [My Profile](www.linkedin.com/in/nandkumarsahu1234)

🌟 _Let’s make the world greener, one click at a time!_ πŸŒπŸ’š

---

## **πŸš€ Conclusion**
EcoBuddy is more than an appβ€”it's a **movement** toward sustainability. By making **eco-friendly resources** more **accessible**, we encourage people to **adopt greener choices** effortlessly.

> 🌱 **Together, let's build a more sustainable future.** 🌍