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. π±
- Host: GitHub
- URL: https://github.com/nandkumar1000/ecobuddy
- Owner: nandkumar1000
- Created: 2024-12-02T07:19:25.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-09T02:55:47.000Z (over 1 year ago)
- Last Synced: 2025-07-07T19:43:28.768Z (12 months ago)
- Topics: authentication, bootstrap, cookies, css, cursor-theme, ejs, ejs-template-engine, express-session, expressjs, flash, flash-messages, html, js, mongodb, mongoose, node, oauth2, passportjs
- Language: EJS
- Homepage:
- Size: 180 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### **π EcoBuddy - Your Gateway to a Greener Future**

π± **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.** π