A full-stack application that connects people looking for rides with drivers offering transportation services. This platform streamlines the process of organizing shared transportation, making it easier to coordinate carpools and reduce transportation costs.
- User Authentication: Secure login and registration system
- Ride Creation: Create and manage rides with detailed information
- Ride Joining: Easily find and join available rides
- Route Planning: Set pickup and multiple dropoff locations
- Driver Management: Vendors can manage driver profiles and availability
- Real-time Status Updates: Track ride status and receive updates
- Interactive Maps: Visualize routes and locations
- Responsive Design: Works on desktop and mobile devices
- React with TypeScript
- TailwindCSS for styling
- Shadcn UI components
- React Query for state management
- Wouter for routing
- React Hook Form for form handling
- Leaflet for map integration
- Node.js with Express
- TypeScript
- Passport.js for authentication
- Drizzle ORM with NeonDB (PostgreSQL)
- WebSockets for real-time updates
├── client/ # Frontend React application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── lib/ # Utility functions
│ │ ├── pages/ # Application pages
│ │ └── ...
│
├── server/ # Backend Express application
│ ├── auth.ts # Authentication logic
│ ├── db.ts # Database configuration
│ ├── routes.ts # API routes
│ ├── storage.ts # Data storage and retrieval
│ └── ...
│
├── shared/ # Shared code between client and server
│ ├── schema/ # Database and validation schemas
│ └── ...
│
└── ...
- Node.js (v18 or higher)
- npm or yarn
- PostgreSQL database (or Neon.tech account)
-
Clone the repository:
git clone https://github.com/yourusername/rideshare.git cd rideshare -
Install dependencies:
npm install
-
Set up environment variables: Create a
.envfile in the root directory with the following variables:DATABASE_URL=your_database_connection_string SESSION_SECRET=your_session_secret -
Set up the database:
npm run db:push
-
Start the development server:
npm run dev
The application will be available at http://localhost:3000.
npm run dev- Start the development servernpm run build- Build the production applicationnpm run start- Start the production servernpm run check- Run TypeScript type checkingnpm run db:push- Push database schema changes
The application is ready to be deployed to platforms like:
- Vercel
- Netlify
- Render
- Heroku
- Railway
- User Settings Update
- Route optimization
- One-tap WhatsApp messaging
- Peer-to-peer payments
- Driver Vendor integration
- FAQ
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request