August 11, 2023

An online renting website built using React and MongoDB

Contributors Forks Stargazers Issues LinkedIn


Logo

Rentpal

Introducing an innovative web application that allows users to rent anything they need with ease. The platform is built with the latest technologies, including Next.js 13 App Router, React, Tailwind, Prisma, MongoDB, NextAuth, and cloudinary for image uploading, ensuring a seamless and user-friendly experience.
With advanced search and filter options, users can easily find the perfect item to rent for any occasion. The reliable and secure booking system ensures a hassle-free rental process. Plus, with the cloudinary integration, it's easy to upload and manage images, so users can see exactly what they're renting.
This web application is perfect for those looking to rent a tool for a DIY project, a costume for a special event, or a car for a weekend getaway. The convenience and affordability of renting through this platform cannot be beat.

View Demo

Table of Contents

  1. About The Project
  2. Getting Started
  3. Features
  4. Contributing
  5. Special Thanks
  6. Contact

About The Project

Product Name Screen Shot

(back to top)

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

  1. Make sure you have latest version of npm installed
  • npm sh npm install npm@latest -g
  1. Make sure you have your accounts set up on MongoDB, GCP and Cloudinary

Installation

  1. Cloning the repository
  git clone https://github.com/shreyashkadam/rentpal.git
  1. Install packages
  npm i
  1. Setup .env file
  DATABASE_URL=
  GOOGLE_CLIENT_ID=
  GOOGLE_CLIENT_SECRET=
  GITHUB_ID=
  GITHUB_SECRET=
  NEXTAUTH_SECRET=
  1. Setup Prisma
  npx prisma db push
  1. Start the app
  npm run dev

(back to top)

Features

  • Tailwind design
  • Tailwind animations and effects
  • Full responsiveness
  • Credential authentication
  • Google authentication
  • Github authentication
  • Image upload using Cloudinary CDN
  • Client form validation and handling using react-hook-form
  • Server error handling using react-toast
  • Calendars with react-date-range
  • Page loading state
  • Page empty state
  • Booking system
  • Customer booking cancellation
  • Owner booking cancellation
  • Creation and deletion of items
  • Pricing calculation
  • Favorites system
  • Shareable URL filters

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Special Thanks

Special Thanks to Code with Antonio for his outstanding tutorial video on making a airbnb clone. This project has been referenced and greatly inspired by his work in the mentioned tutorial

Contact

Shreyash Kadam - @linkedin-handle - shreyash.kadam10@gmail.com

Project Link: https://github.com/shreyashkadam/rentpal

(back to top)

[license-shield]: https://img.shields.io/github/license/shreyashkadam/rentpal.svg?style=for-the-badge [license-url]: https://github.com/shreyashkadam/rentpal/blob/master/LICENSE.txt