Skip to content

It is a full-featured peer-to-peer car rental platform connecting Hosts (lenders) and Renters (borrowers). It offers secure user management, car listing, booking, dynamic pricing, and rental agreement handling. With real-time availability, location-based filters, payments, and admin controls, it delivers a seamless rental experience.

Notifications You must be signed in to change notification settings

jasjeev013/GoRentzyy-Saas-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

115 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚗 GO Rentzyy: The Car Rental SaaS

GO Rentzyy Logo

A full-featured peer-to-peer car rental platform connecting Hosts (lenders) and Renters (borrowers).
It delivers a secure, scalable, and user-friendly experience with real-time availability, location-based filters, payments, and admin controls.


📖 About

GO Rentzyy is a SaaS-based Car Rental Platform that bridges the gap between vehicle owners and renters.
It ensures security, flexibility, and transparency in the rental process with:

  • 🔒 User Authentication & Authorization (JWT + OAuth with Google & GitHub)
  • 🚘 Car Listings & Booking Management
  • 📍 Location-based Search with Google Maps
  • 💰 Dynamic Pricing & Razorpay Payment Gateway
  • 📝 Rental Agreement Handling
  • 📨 Email & SMS Notifications (Twilio)
  • 📦 Containerization (Docker)
  • 🔎 ElasticSearch for optimized search
  • ☁️ Cloudinary for media storage
  • 📊 Admin Dashboard with health metrics (Spring Actuator)
  • Unit Testing with JUnit & Mockito

🖼️ Screenshots

Dashboard Screenshot Rental Page Screenshot

⚙️ Tech Stack

🖥️ Frontend (Next.js)

  • Framework: Next.js 15 (App Router)
  • Styling: Tailwind CSS + Radix UI + Framer Motion
  • State Management: Zustand
  • Authentication: NextAuth.js (Google/GitHub OAuth)
  • UI Components: shadcn/ui, Lucide Icons, Embla Carousel
  • API Integration: Axios
  • Maps: @react-google-maps/api
  • Charts: Recharts

⚡ Backend (Spring Boot)

  • Core: Spring Boot (REST APIs)
  • Security: JWT Auth + OAuth2 (Google, GitHub)
  • Scheduling: Spring Scheduler for rentals/notifications
  • Payments: Razorpay integration
  • Storage: Cloudinary for images/videos
  • Database: PostgreSQL (local) + Supabase (production)
  • Search: ElasticSearch
  • Notifications: Email (SMTP) + Twilio SMS/OTP
  • Docs: Swagger UI
  • Health Metrics: Spring Actuator
  • Testing: JUnit + Mockito
  • Containerization: Docker + docker-compose

📂 Directory Structure

jasjeev013-gorentzyy/
├── client/                 # Next.js Frontend
│   ├── app/                # Next.js App Router
│   ├── components/         # Reusable UI components
│   ├── hooks/              # Custom React hooks
│   ├── public/             # Static assets (logo, screenshots, images)
│   ├── stores/             # Zustand stores
│   └── utils/              # Utilities (razorpay config, helpers)
│
├── server/                 # Spring Boot Backend
│   ├── src/main/java/...   # Java source code
│   │   ├── controllers/    # REST Controllers
│   │   ├── services/       # Business Logic
│   │   ├── repositories/   # JPA Repositories
│   │   ├── models/         # Entity Models
│   │   └── config/         # Security & App Configs
│   ├── src/test/java/...   # Unit Tests (JUnit, Mockito)
│   ├── pom.xml             # Maven dependencies
│   ├── Dockerfile          # Docker containerization
│   └── docker-compose.yml  # Compose for DB & services
│
├── resources/
│   └── Car Rental System.docx   # Project Documentation
│
└── README.md               # This file

🚀 Getting Started

🔧 Prerequisites

  • Node.js (v20+)
  • Java 21 + Maven
  • PostgreSQL
  • Docker (optional for containerization)

🖥️ Frontend Setup (Next.js)

cd client
npm install
npm run dev

Runs the app in development mode on http://localhost:3001


⚡ Backend Setup (Spring Boot)

cd server
./mvnw spring-boot:run

Runs the backend on http://localhost:8080

Swagger Docs available at: http://localhost:8080/swagger-ui.html


🗄️ Database (Postgres + Supabase)

  • Configure local DB in application.properties
  • For production, Supabase connection details are in application-prod.properties

🐳 Docker Setup (Optional)

docker-compose up --build

🧪 Testing

Run unit tests with:

cd server
./mvnw test

Generates test coverage reports in /htmlReport/.


📌 Features Roadmap

  • Car Listing & Rental Booking
  • Secure Authentication (JWT, OAuth)
  • Payment Gateway (Razorpay)
  • Location Tracking (Google Maps)
  • Cloud Storage (Cloudinary)
  • Mobile App (React Native)
  • Advanced Analytics Dashboard

🤝 Contributing

Contributions are welcome! 🎉 Fork the repo, create a new branch, and submit a PR.


📜 License

This project is licensed under the MIT License.


Made by jasjeev013

About

It is a full-featured peer-to-peer car rental platform connecting Hosts (lenders) and Renters (borrowers). It offers secure user management, car listing, booking, dynamic pricing, and rental agreement handling. With real-time availability, location-based filters, payments, and admin controls, it delivers a seamless rental experience.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published