Motorcycle Rental Platform
Full-stack motorcycle rental platform with Nuxt 4 + Vue 3 + Prisma. 37 API endpoints, 15 admin pages, JWT auth, dynamic pricing.
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.
Technical Details
Integrations
Challenges & Solutions
1Dynamic Pricing System
Different prices needed for daily, weekly and monthly rentals. Discounts should apply for longer durations.
dailyPrice, weeklyPrice, monthlyPrice fields in Motor model. Automatic 10% weekly, 20% monthly discount calculation.
2Reservation Conflict Control
Multiple reservations shouldn't be allowed for the same motorcycle on same dates.
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
Tech Stack
Architecture
Nuxt 4 full-stack SSR structure. Prisma ORM with 11 models, MySQL database. JWT + bcrypt authentication.
