Taxi Service Flutter App

Замовник: AI | Опубліковано: 26.04.2026
Бюджет: 8 $

Project Overview Flutter-based taxi booking application with a focus on repair/service vehicles. The app integrates Yandex Maps for location services, route visualization, and address search. The core functionality includes permission handling (notifications & location), an interactive map interface, service selection, and a booking form. The project is a bit partially implemented. The current codebase includes onboarding flows (notification & location permission screens), a map screen with camera controls (requires some fixes) and basic navigation. The UI is styled with a custom font and a predefined color scheme. Completed Work Permission handling for notifications and location using permission_handler. Onboarding flow with two screens (NotificationScreen, LocationScreen). Map screen (MapScreen) with Yandex Maps integration: Camera movement to user location or predefined coordinates. Custom focus rectangle to accommodate the bottom service panel. Location marker with Icons.place. Service selection panel (ServiceOrderPanel): Three service types with icons and pricing. "Order Now" button (placeholder action). Custom animations (RightToLeftFadeRoute). SharedPreferences wrapper for onboarding completion tracking (partial). Remaining Tasks (To Be Completed by Freelancer) Required: Backend Integration Set up a backend (Node.js/PHP/Python) with a database (PostgreSQL/MySQL) to store: User profiles (name, phone, email, address history). Orders (service type, pickup/dropoff addresses, price, status, driver assignment). Driver details (name, vehicle type, license plate, real-time location). Implement API endpoints for order creation, retrieval, status updates, and driver tracking. Order Creation Form Build a multi-step form after pressing "Order Now": Collect pickup address (defaults to current map center), dropoff address. Select service type, quantity, additional notes. Display price calculation based on distance (Yandex Routes API). Submit order to backend and receive confirmation. Real-time Order Tracking Implement WebSocket or Firebase Firestore for live driver location updates. Show driver's route and estimated arrival time on the map (polyline). Push notifications for order status changes (accepted, arrived, completed). User Authentication Add phone number or email/phone auth (Firebase Auth or custom JWT). Store user history and preferences. Driver App (Suggested Scope) Separate Flutter app for drivers with similar UI but driver-specific features: Online/offline toggle. Accept/reject orders. Navigation to pickup/dropoff (integrate with Yandex Navigator?). Optional if not required, can simplify to a driver web panel. Admin Panel Web dashboard to manage orders, users, drivers, pricing, and service types. Additional Features Order history screen. Favorites / saved addresses. Promo codes. In-app support chat. Technical Constraints Platform: iOS & Android (Flutter 3.x, Dart 3.x). Mapping: Yandex Maps SDK (yandex_maps_mapkit). State Management: No strict pattern yet (currently uses setState). Recommendation: Provider, Riverpod, or BLoC for production. Local storage: SharedPreferences (for onboarding), SQLite (Hive) for offline cache. Expected Deliverables Fully functional mobile app (iOS/Android) meeting the above requirements. Backend API documentation (Swagger/OpenAPI). Source code on GitHub (private). One-time deployment assistance (or at least instructions). Budget & Timeline Backend + API development (Node.js preferred). Flutter app completion (including order form, tracking, auth). Optional driver app and admin panel. Ideal freelancer should have experience with Yandex Maps, real-time tracking, and Flutter navigation flows. References to similar past projects are required.