PROMOFREE first month ad consulting for website clients!Apply Now →
All Projects
E-commerceTourism

Motorcycle Rental Platform

Full-stack motorcycle rental platform with Nuxt 4 + Vue 3 + Prisma. 37 API endpoints, 15 admin pages, JWT auth, dynamic pricing.

Completion Time:2 months
12,768Lines of Code
37API Endpoints
11DB Tables
Visit Project
Motorcycle Rental Platform

Customer Need

Motorcycle rental business was taking reservations via phone and WhatsApp. Paper calendar was used, double bookings occurred, pricing was complicated. No professional management panel existed.

Our Solution

Developed a comprehensive motorcycle rental platform with Nuxt 4 + Vue 3 + Prisma. Added online reservation, dynamic pricing (daily/weekly/monthly), 15-page admin panel, JWT-based security and SEO optimization.

What Makes This Project Special?

A typical rental site is a simple promotional site with static pages. We developed a full-stack platform with Nuxt 4 + Prisma: 37 API endpoints, 15 admin pages, dynamic pricing, JWT security, motorcycle maintenance tracking, promotion system. 12,768 lines of code, 11 database tables. Client asked for "motorcycle rental site", we delivered a comprehensive vehicle rental management system.

Technical Details

12,768
Total Code
23
Vue Components
37
API Endpoints
11
Prisma Models
15
Admin Pages
2,657 lines
TypeScript

Integrations

Prisma ORM
11 models, MySQL database, relational data management, type-safe queries
JWT Authentication
jsonwebtoken + bcryptjs, refresh token, role-based access control
vee-validate + yup
Form validation, email/password/date verification
@nuxtjs/sitemap
Dynamic sitemap, automatic motorcycle page indexing

Challenges & Solutions

1Dynamic Pricing System

Challenge:

Different prices needed for daily, weekly and monthly rentals. Discounts should apply for longer durations.

Solution:

dailyPrice, weeklyPrice, monthlyPrice fields in Motor model. Automatic 10% weekly, 20% monthly discount calculation.

2Reservation Conflict Control

Challenge:

Multiple reservations shouldn't be allowed for the same motorcycle on same dates.

Solution:

startDate/endDate control in Booking model. Motor status tracking (AVAILABLE, RENTED, MAINTENANCE, RESERVED).

Behind The Scenes

  • 12,768 lines of code: Vue 9,553, TypeScript 2,682, Prisma 287
  • 23 Vue components, 37 API endpoints, 11 Prisma models
  • 15 admin pages: Dashboard, motorcycles, reservations, customers, settings
  • JWT authentication: Login, register, refresh token, role-based access

Project Features

  • Online reservation system
  • Visual availability calendar
  • 4 language support (TR/EN/DE/RU)
  • Management panel
  • Automatic email notifications
  • Deposit and payment tracking
  • Seasonal pricing
  • Mobile responsive design

Achieved Results

24/7 online reservations. Dynamic pricing with automatic 10% weekly, 20% monthly discounts. Full control with 15-page admin panel. Double bookings eliminated.

Project Information

Project TypeE-commerce
SectorTourism
Completion Time2 months

Tech Stack

Nuxt 4Vue 3TypeScriptPrisma ORMMySQLTailwind CSSJWT

Architecture

Nuxt 4 full-stack SSR structure. Prisma ORM with 11 models, MySQL database. JWT + bcrypt authentication.

Live Project

trendgaraj.com.tr

Similar project?

We can develop a similar solution for you too.

Get Quote