https://github.com/prathampatel25/heavenease
https://github.com/prathampatel25/heavenease
ejs ejs-mate ejs-templates javascript
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/prathampatel25/heavenease
- Owner: PrathamPatel25
- Created: 2024-12-04T11:36:46.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-01-04T16:07:44.000Z (5 months ago)
- Last Synced: 2025-01-04T17:20:13.338Z (5 months ago)
- Topics: ejs, ejs-mate, ejs-templates, javascript
- Language: EJS
- Homepage: https://heavenease.onrender.com/listings
- Size: 208 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🏠 HeavenEase
[](https://heavenease.onrender.com/listings)
[](https://nodejs.org/)
[](https://expressjs.com/)
[](https://www.mongodb.com/)
[](https://ejs.co/)Your gateway to exceptional temporary homes and unique stays
[Live Demo](https://heavenease.onrender.com/listings) | [Report Bug](https://github.com/PrathamPatel25/HeavenEase/issues) | [Request Feature](https://github.com/PrathamPatel25/HeavenEase/issues)
## ✨ Key Features
- 🏡 **Property Management**
- Create, edit, and delete property listings
- Rich media uploads (image)
- Detailed property descriptions- 👥 **User Features**
- Secure authentication and registration
- Property reviews and ratings- 💫 **Platform Features**
- Responsive design for all devices
- Advanced search and filtering## 🛠️ Tech Stack
### Core Technology
- **Runtime Environment:** Node.js (v20.12.2)
- **Web Framework:** Express.js (v4.21.0)
- **Template Engine:** EJS (v3.1.10) with EJS-Mate
- **Database:** MongoDB with Mongoose ODM### Authentication & Security
- **Authentication:** Passport.js with Local Strategy
- **Session Management:** Express Session
- **Data Validation:** Joi Schema Validation
- **Security Middleware:** Various Express security packages### File Handling & Storage
- **Image Upload:** Multer (v1.4.5-lts.1)
- **Cloud Storage:** Cloudinary (v2.5.1)
- **Storage Management:** Multer-Storage-Cloudinary### Additional Tools
- **Method Override:** For RESTful routes
- **Flash Messages:** Connect-flash for user notifications
- **Session Store:** Connect-Mongo for session persistence
- **Environment Variables:** Dotenv for configuration
- **Favicon:** Serve-favicon for site identity## 🚀 Getting Started
### Prerequisites
- Node.js (v20.12.2 or higher)
- MongoDB
- npm or yarn
- Cloudinary account### Installation Steps
1. **Clone the repository**
```bash
git clone https://github.com/PrathamPatel25/HeavenEase.git
cd HeavenEase
```2. **Install dependencies**
```bash
npm install
```3. **Configure environment variables**
Create a `.env` file:```env
CLOUD_NAME=your_cloudinary_cloud_name
CLOUD_API_KEY=your_cloudinary_api_key
CLOUD_API_SECRET=your_cloudinary_api_secret
ATLASDB_URL=your_mongodb_atlas_connection_string
SECRET=your_secret_key
```4. **Start the server**
```bash
nodemon app.js
```## 🔑 Key Features Breakdown
### For Property Owners
- Easy listing creation and management
- image uploads
- Pricing management### For Guests
- Advanced search filters
- Review and rating system## 🎯 Roadmap
- [ ] Add payment gateway integration
- [ ] Enhance search with filters
- [ ] Add Google Maps integration
- [ ] Implement user verification
- [ ] Add booking calendar## 👨💻 Author
**Pratham Patel**
- LinkedIn: [Pratham Patel](https://www.linkedin.com/in/pratham-patel-0920-/)
- GitHub: [@PrathamPatel25](https://github.com/PrathamPatel25)## 🙏 Acknowledgments
- [Express.js](https://expressjs.com/)
- [MongoDB](https://www.mongodb.com/)
- [Cloudinary](https://cloudinary.com/)
- [Passport.js](http://www.passportjs.org/)
- [EJS](https://ejs.co/)---
If you find HeavenEase helpful, please consider giving it a ⭐️!