Skip to content

Vinayyy19/Stazy

Repository files navigation

Stazy

Stazy is a full-stack web application designed to connect homeowners who want to rent out their properties with people seeking accommodations. The project follows the MVC (Model-View-Controller) design pattern.

Screenshotimage

## Table of Contents

Features

  • User Authentication and Registration: Secure login and registration system with Passport.
  • Property Listing and Management: Users can list, manage, and update their properties.
  • User Reviews and Ratings: Users can leave reviews and rate properties.
  • Responsive Design: The application is fully responsive, providing a seamless experience across all devices.
  • Tax Display: Shows Price and Taxes.
  • AI ChatBot: dedicated AI chatbot to help in hotel booking.
  • Map Integration: Integrated with maps to show property locations.
  • And More: Additional features to enhance user experience.

Tech Stack

  • Frontend: CSS, Bootstrap/Tailwind
  • Backend: Node.js, Express.js,javaScript
  • Database: MongoDB
  • Authentication: NPM package Passport
  • Deployment: Render.com

Usage

Register or log in to your account. View different properties from different places. List your property by providing necessary details.

## Live Demo

Check out the live demo of the project: Stazy Live https://wonderlust-lpjk.onrender.com/

## 🤝 How to Contribute

We welcome contributions to help improve Stazy! 🚀 Here’s how you can get involved:

  1. Fork the Repository 🍴

    • Navigate to the Stazy GitHub page. 🌐
    • Click on the Fork button in the top-right corner of the page to create a copy of the repository in your GitHub account. ➕
  2. Clone Your Forked Repository 🔄

    • After forking, clone the repository to your local machine:
      git clone https://github.com/your-username/Stazy.git
    • Navigate to the project directory:
      cd Stazy
  3. Create a New Branch for Your Changes 🌿

    • Create a new branch for your feature or fix:
      git checkout -b feature/your-feature-name
  4. Make Your Changes ✏️

    • Add your desired features, fix bugs, or improve documentation. 🛠️
  5. Add Your Changes to the Staging Area 📦

    • Stage the files you modified or created:
      git add .
  6. Commit Your Changes 📝

    • Commit your changes with a descriptive message:
      git commit -m "Add [feature/fix] - description"
  7. Push Your Changes ⬆️

    • Push the changes to your forked repository:
      git push origin feature/your-feature-name

🛠️ How to Set Up the Project Locally

  1. Clone the Repository 🔍

    • Clone the repository to your local machine:
      git clone https://github.com/your-username/Stazy.git
  2. Navigate to the Project Directory 📂

    • Change to the directory where the project is located:
      cd Stazy
  3. Set Up Your Mapbox Account 🌐

    • Go to Mapbox and sign up for a free account. 🆓
    • After logging in, navigate to the Tokens section under your account settings. 🔑
    • Create a new Access Token and copy it. You will need this for the .env file. 📄
  4. Set Up Your Cloudinary Account ☁️

    • Go to Cloudinary and sign up for a free account. 🆓
    • After logging in, navigate to your Dashboard. 📊
    • Copy your Cloud Name, API Key, and API Secret. You will need these for the .env file. 🔐
  5. Ensure .env and node_modules/ Are in .gitignore 🛡️

    • Before proceeding, ensure that both .env and node_modules/ are added to your .gitignore file to prevent sensitive information and large files from being uploaded to GitHub. 🚫
    • If they are not already there, add them:
      echo .env >> .gitignore
      echo node_modules/ >> .gitignore
  6. Create a .env File 🗃️

    • In the root directory of the project, create a .env file and add the following variables:
      map_acess=your-mapbox-access-token
      dburl=your-mongodb-connection-uri # mongodb://127.0.0.1:27017/Stazy for running mongodb server locally
      secret=your-secret-key
      fileNameE=your-cloudinary-cloud-name
      api_key=your-cloudinary-api-key
      api_secret=your-cloudinary-api-secret
      PORT=8080 # Default port for the server
      NODE_ENV=production
      demoUSer=user-who-will-be-onwer-of-all-demo-user(give objectId)
      
  7. Install Dependencies ⚙️

    • Install the required Node.js dependencies:
      npm install
  8. Start the Server 🚀

    • You have two options to start the server:
      • Using nodemon app.js for auto-restarting:
        nodemon app.js
      • Or using node app.js to start the server manually:
        node app.js
  9. Environment Setup 🔒

    • Ensure that the .env file is not uploaded to GitHub by checking that .gitignore includes .env. 📜 The following code snippet prevents .env from being deployed if you're running in development mode:
      if (process.env.NODE_ENV !== 'production') {
        require('dotenv').config();
      }

Feel free to raise issues and contribute to the repository! 🎉💻

🤝 Join Our Community of Contributors!

Stazy Logo

We're excited to have you on board! Whether you're a seasoned developer or just starting out, your skills and ideas can make a significant impact on Stazy. Here’s how you can get involved:

  • Share Your Ideas 💡: Have a feature in mind? Let us know!
  • Fix Bugs 🐛: Help us improve the project by identifying and fixing issues.
  • Enhance Documentation 📚: Clear documentation helps everyone. Your contributions can make it even better!

Every contribution, big or small, is valued and appreciated. Together, we can create an amazing platform for travel enthusiasts! 🌍✨

📬 Contact

For questions or feedback, feel free to reach out via GitHub issues or contact the project maintainers. ✉️

Thank You for Your Support! 💖

Your contributions help us grow and improve! Happy Coding ✨🚀

Contributors Animation

About

Stazy is a website that connects people who want to rent out their homes with people who are looking for accommodations.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors