Skip to content

Restify is a web application for exploring and listing rental properties, offering users the ability to browse homes, book stays, and host their own listings. It features an intuitive design with geolocation-based search, user authentication, reviews, and dynamic filtering for a seamless experience.

Notifications You must be signed in to change notification settings

RanitDERIA/restify

Repository files navigation

GitHub repo size GitHub stars GitHub forks

Twitter Follow LinkedIn



Restify - Discover Unique Stays, Powered by Advanced Search Filters

Restify is a web application for exploring and listing rental properties, offering users the ability to browse homes, book stays, and host their own listings. It features an intuitive design with geolocation-based search, user authentication, reviews, and dynamic filtering for a seamless experience.

➥ Live Demo

Table of Contents

Prerequisites:

Before running the Restify application on your local machine, ensure you have the following installed:

  • Node.js (version 14 or higher)
  • MongoDB (local installation or MongoDB Atlas account)
  • Cloudinary (for image uploads)
  • Git (for cloning the repository)

You will also need to set up the required environment variables listed below:

ATLASDB_URL=<your MongoDB Atlas connection string>
SESSION_SECRET=<your session secret>
CLOUDINARY_CLOUD_NAME=<your Cloudinary cloud name>
CLOUDINARY_API_KEY=<your Cloudinary API key>
CLOUDINARY_API_SECRET=<your Cloudinary API secret>
MAPBOX_TOKEN=<your Mapbox token>

Technologies Utilized:

JavaScript    HTML5    CSS3    Node.js    Express.js    MongoDB    Bootstrap    Cloudinary   amazon   passport   npm-packages   render  

Features:

  • User Authentication: Secure login and registration using Passport.js.
  • Image Uploads: Host images via Cloudinary.
  • Dynamic Search: Search by country or location using geolocation features.
  • Category Filtering: Explore listings with category-based filters like trending, rooms, iconic cities, mountains, etc.
  • Reviews: Users can leave reviews and ratings on listings.
  • Responsive Design: Fully responsive design with support for mobile and tablet devices.
  • Security: Implemented using Helmet.js and secure MongoDB sessions.

Run Locally:

To run Restify locally, follow the steps below:

Linux and macOS:

sudo git clone https://github.com/ranitderia/restify.git
cd restify
npm install
npm start

Windows:

git clone https://github.com/ranitderia/restify.git
cd restify
npm install
npm start

Installation:

Clone the repository from GitHub:

Get it on GitHub

Usage:

  • Browse Listings: Explore listings based on location or category.
  • Sign Up/Login: Create an account to access full features, like adding reviews and listing your own properties.
  • Host Your Property: Click on the "Restify your home" button to list your property with image uploads via Cloudinary.
  • Leave Reviews: Review properties you’ve stayed at.

Deployment:

Restify can be deployed to platforms like Render, Heroku, or any Node.js hosting service that supports MongoDB.

Environment Variables:

You will need the following environment variables in your .env file or hosting provider’s environment settings:

ATLASDB_URL=<your MongoDB Atlas connection string>
SESSION_SECRET=<your session secret>
CLOUDINARY_CLOUD_NAME=<your Cloudinary cloud name>
CLOUDINARY_API_KEY=<your Cloudinary API key>
CLOUDINARY_API_SECRET=<your Cloudinary API secret>
MAPBOX_TOKEN=<your Mapbox token>

Screenshots:

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4

Contributing:

Contributions are always welcome!

If you'd like to contribute to this project, please follow these guidelines:

Fork the repository.

  1. Create a new branch for your feature or bug fix.
  2. Make your changes and commit them with descriptive messages.
  3. Push your changes to your fork.
  4. Submit a pull request.

Thank you for contributing to this project!

License:

This project is free to use and is licensed under the MIT License.

Contact:

If you want to get in touch or have any questions regarding this project, feel free to reach out to me on LinkedIn or follow me on Twitter.

For any inquiries, you can also open an issue or send a message directly via GitHub.

About

Restify is a web application for exploring and listing rental properties, offering users the ability to browse homes, book stays, and host their own listings. It features an intuitive design with geolocation-based search, user authentication, reviews, and dynamic filtering for a seamless experience.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published