Skip to content

DriveMe is a web app that lets car owners hire professional drivers on-demand to drive their own vehicles — solving the real-world problem of finding trusted drivers for trips, events, or daily commutes.

Notifications You must be signed in to change notification settings

Maitreyan-git/Driveme

Repository files navigation

DriveMe Platform - React Application

A modern React-based platform for connecting customers with professional drivers for their own vehicles. This application has been converted from Next.js to a pure React application using Vite and React Router.

Features

  • Customer Features:

    • Browse and search for professional drivers
    • Book drivers for hourly, daily, or outstation trips
    • View driver ratings, reviews, and experience
    • Manage bookings and track trip history
    • Secure payment processing
  • Driver Features:

    • Driver registration and verification
    • Manage booking requests and availability
    • Track earnings and performance metrics
    • View customer reviews and ratings
  • Admin Features:

    • Platform management and monitoring
    • Driver verification and approval
    • User management and support
    • Analytics and reporting

Tech Stack

  • Frontend: React 19, TypeScript
  • Build Tool: Vite
  • Routing: React Router DOM
  • Styling: Tailwind CSS
  • UI Components: Radix UI + Custom Components
  • Icons: Lucide React
  • Forms: React Hook Form
  • Validation: Zod

Project Structure

src/
├── components/          # Reusable UI components
│   ├── ui/             # Base UI components (buttons, cards, etc.)
│   └── theme-provider.tsx
├── pages/              # Page components
│   ├── auth/           # Authentication pages
│   ├── dashboard/      # Dashboard pages for different user types
│   ├── HomePage.tsx    # Landing page
│   ├── SearchPage.tsx  # Driver search page
│   └── BookingPage.tsx # Booking management
├── lib/                # Utility functions
├── hooks/              # Custom React hooks
├── styles/             # Global styles
├── App.tsx             # Main application component
└── main.tsx            # Application entry point

Getting Started

Prerequisites

  • Node.js (version 18 or higher)
  • npm or yarn package manager

Installation

  1. Clone the repository:
git clone <repository-url>
cd driveme-platform
  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev
  1. Open your browser and navigate to http://localhost:5173

Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run preview - Preview production build
  • npm run lint - Run ESLint

Pages and Routes

  • / - Home page with landing content
  • /auth/login - User login (Customer, Driver, Admin)
  • /auth/register - User registration (Customer, Driver)
  • /search - Driver search and filtering
  • /booking/:id - Booking details and management
  • /dashboard/customer - Customer dashboard
  • /dashboard/driver - Driver dashboard
  • /dashboard/admin - Admin dashboard

Key Features Implemented

Authentication System

  • Multi-role login (Customer, Driver, Admin)
  • Registration forms with validation
  • Password visibility toggle
  • Terms and conditions acceptance

Driver Search

  • Location-based driver search
  • Advanced filtering (rating, experience, verification)
  • Sorting options (rating, price, distance)
  • Driver profiles with detailed information

Booking System

  • Date and time selection
  • Duration options (hourly, daily)
  • Location-based booking
  • Booking confirmation flow

Dashboard Views

  • Customer Dashboard: Booking history, active bookings, total spent
  • Driver Dashboard: Earnings, booking requests, performance metrics
  • Admin Dashboard: Platform analytics, user management, activity monitoring

Styling and UI

The application uses a modern, responsive design with:

  • Tailwind CSS for utility-first styling
  • Custom color scheme with blue accent colors
  • Responsive grid layouts
  • Interactive hover effects and transitions
  • Consistent spacing and typography

State Management

Currently using React's built-in state management:

  • useState for local component state
  • useEffect for side effects
  • Props for component communication

Future Enhancements

  • Backend API integration
  • Real-time messaging between customers and drivers
  • Payment gateway integration
  • Push notifications
  • Mobile app development
  • Advanced analytics and reporting
  • Multi-language support

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

License

This project is licensed under the MIT License.

Support

For support and questions, please contact the development team or create an issue in the repository.

About

DriveMe is a web app that lets car owners hire professional drivers on-demand to drive their own vehicles — solving the real-world problem of finding trusted drivers for trips, events, or daily commutes.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published