- Project Overview
- Key Features
- Tech Stack
- Getting Started
- Application Architecture
- Screenshots & Demonstrations
- Challenges & Solutions
- Future Improvements
- License
Cabify is a feature-rich, application designed to deliver a seamless and dynamic user experience similar to leading ride-hailing platforms. Built with modern technologies, Cabify allows users to book rides, track locations, and engage with a real-time map interface. The app offers secure user authentication, payment integration, and responsive design, making it scalable and user-friendly.
- Dynamic Ride Booking: Book and manage rides in real-time π.
- Onboarding & Authentication: Smooth onboarding screens and secure authentication via email and Google sign-in with Clerk π.
- Interactive Map Integration: Real-time GPS location and nearby drivers shown using Google Maps and Places API πΊοΈ.
- Ride History & Profile Management: View past rides and manage user profile data seamlessly π.
- Stripe Payment Integration: Enable smooth and secure ride payments π³.
- Custom Navigation: Enhanced navigation with bottom sheets, modals, and multi-tab screens π§.
- Frameworks & Libraries: React Native, Expo
- Backend & Realtime Services: Neon Postgres, Expo API Routes
- Authentication: Clerk
- State Management: Zustand
- UI & Styling: NativeWind, Tailwind CSS
- Map Integration: Google Maps
- Payments: Stripe
- Code Quality & Development: ESLint, Prettier
To get started with Cabify locally:
- Node.js and npm
- Expo CLI installed
- Clone the repository:
git clone https://github.com/yourusername/cabify.git cd cabify
- Install dependencies:
npm install
- Configure environment variables:
- Create a
.env
file in the root directory. - Add your API keys for Clerk, Google Maps, Neon Postgres, etc.
- Create a
- Run the development server:
npm run start
- Use Expo Go (or a simulator) to scan the QR code and launch the app π±.
- Driver Locations: Displays nearby drivers using real-time data.
- Ride Booking: Utilizes Google Maps for route planning and ride tracking.
- Email & Password Login: Implemented with email verification.
- Google Authentication: Smooth OAuth login experience.
- Splash & Onboarding Screens: Welcomes users with a clean onboarding flow.
- Reusable Components: Custom input fields, buttons, and navigational elements.
Solution: Integrated Neon Postgres and optimized API routes to ensure seamless real-time data synchronization for ride tracking.
Solution: Used Expo Router to create a robust file-based navigation structure with dynamic screens and route guards.
Solution: Utilized Stripe's API for secure and flexible payment methods.
- Enhanced Ride Matching: Incorporate AI-driven ride matching algorithms π€.
- Push Notifications: Add push notifications for ride status updates π.
- Offline Support: Implement caching and offline functionality for user data πΆ.
This project is licensed under the MIT License.
For suggestions, contributions, or to report issues, please open an issue or reach out.