Rent Anything, Anywhere
A modern peer-to-peer rental marketplace built with React, TypeScript, and Tailwind CSS.
- 🔍 Smart Search & Filtering – Find items by category, location, and price
- 🤖 AI-Powered Recommendations – Personalized suggestions for each user
- 💬 Real-Time Messaging – Chat with item owners instantly
- 🔔 Smart Notifications – Stay updated on bookings and conversations
- 💳 Secure Payments – Integrated payment gateways
- 🔐 Google OAuth – Secure login with Google
- 📱 Fully Responsive – Works great on all devices
- ⚡ Booking Conflict Prevention – Avoids double bookings
- Go to Google Cloud Console
- Create or select a project
- Enable OAuth 2.0 credentials
- Add authorized domains:
- Development:
http://localhost:5173
- Production:
https://imrajeevnayan.github.io
- Development:
- Copy your Client ID
- Create a
.env
file:cp .env.example .env
- Add your Google Client ID:
VITE_GOOGLE_CLIENT_ID=your-google-oauth-client-id-here
Users can also sign up and log in using email and password with form validation.
-
Clone the repository
git clone <repository-url> cd rento
-
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env # Edit .env with your Google OAuth credentials
-
Start the development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173
- Frontend: React 18, TypeScript, Tailwind CSS
- Icons: Lucide React
- Authentication: Google OAuth, Custom Auth
- Notifications: React Hot Toast
- Date Handling: date-fns
- Build Tool: Vite
- Styling: Tailwind CSS with custom components
src/
├── components/ # React components
│ ├── AuthModal.tsx # Authentication modal with Google OAuth
│ ├── Header.tsx # Navigation header
│ ├── Hero.tsx # Landing page hero section
│ ├── ItemGrid.tsx # Item listing grid
│ ├── ItemDetail.tsx # Individual item details
│ ├── Profile.tsx # User profile page
│ ├── Messages.tsx # Messaging system
│ └── ...
├── data/ # Mock data and types
├── types/ # TypeScript type definitions
└── App.tsx # Main application component
- AI-powered suggestions based on user preferences
- Category matching and location-based filtering
- Rating and popularity scoring
- Multiple payment methods (Card, PayPal, Apple Pay)
- Secure payment processing simulation
- Real-time payment status updates
- Smart booking system prevents overlapping rentals
- Alternative date suggestions
- Real-time availability checking
- Real-time notifications for bookings, messages, payments
- Toast notifications for immediate feedback
- Notification history and management
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License.
See the LICENSE file for more details.
🙌 Made with ❤️ by @imrajeevnayan
If you like this project, consider giving it a ⭐
Feel free to open issues, contribute, or just say hi!