AI summary
Food ordering app for Hyderabad restaurants built as a fully offline demo with mock backend. Browse menus, customise dishes with live price updates, apply coupons, split bills exactly, schedule deliveries, and track simulated orders through to delivery. Features shimmer loading, debounced search with filters, Room-persisted cart, and a pure paise-based pricing engine to avoid rounding errors.
Generated by AI. May contain inaccuracies.
About this app
Order from the best restaurants in Hyderabad — browse menus, customise dishes, apply coupons and track your order live. A food ordering and delivery app built with Kotlin and Jetpack Compose. It runs fully offline against a mock backend.
Features Home feed Location header ("Deliver to Home · Banjara Hills") and a search bar whose hint rotates through dish names. Promo carousel built on HorizontalPager. It scrolls on its own and pauses while you drag it. Cuisine chips with emoji and a "Top rated near you" rail. All-restaurants feed showing rating, delivery time, cost for two, a pure-veg badge and the current offer. Shimmer skeletons while loading and pull-to-refresh. Search and filters Debounced search across restaurant names, cuisines, areas and dishes, with separate Restaurants and Dishes tabs. Recent searches, popular dishes and cuisine suggestions. Sort by relevance, rating, delivery time or cost (low→high and high→low). Filters in a bottom sheet: pure veg, rating 4.0+, offers, under 30 mins. Restaurant detail Collapsing gradient header with an emoji hero that shrinks as you scroll (custom NestedScrollConnection). Info card with ratings, ETA, cost for two and the offer. Menu grouped into sections with sticky headers, plus veg-only and bestseller toggles and a floating "Menu" jump list. Each dish has a veg/non-veg marker, and its description expands on tap. The ADD button morphs into a − qty + stepper. Customisation sheet for pizzas, burgers, biryanis, coffees, bowls, cakes and more. Required single-choice groups (size or portion) and capped multi-select add-ons. The price updates live as you pick options. Cart (persisted in Room) Only one restaurant per cart: adding from another restaurant opens a "Replace cart?" dialog. Line steppers, and an Undo snackbar when an item is removed. Progress bar toward free delivery and rider tips. Coupon sheet that shows which coupons you qualify for and how much each saves. Split bill: pick 2–10 people and choose whether the rider tip is shared or paid by you, and see each person's share. Shares are exact to the paisa and always add up to the bill. Pricing engine A pure, unit-tested PricingCalculator that works in paise, so there are no floating-point rounding errors. Packaging fee per item (capped), distance-based delivery fee (capped), and a free-delivery threshold. Percentage coupons with discount caps, flat coupons, free-delivery coupons and minimum-order checks. 5% GST, rounded half-up. A pure, unit-tested BillSplitter for the split bill: the first r people pay one paisa more, so the remainder is spread fairly and nothing is lost to rounding. Checkout Saved addresses with an add/edit/delete form and validation (pincode, phone). Delivery instructions. Scheduled delivery: choose "Deliver now" or schedule a 30-minute slot for later today or tomorrow. Slots stay within the restaurant's opening hours (11:00 AM–11:00 PM when a restaurant has none) and start at least 45 minutes from now. Late-night hours that run past midnight are handled. The chosen slot is saved on the order and shown as "Scheduled for …" on the success screen, in tracking and in order history. Mock UPI (with UPI ID validation), card and cash-on-delivery payments. A simulated payment step, then an animated success screen: a check mark draws itself as confetti bursts. Live order tracking A Flow-driven timeline: Placed → Preparing → Out for delivery → Delivered. ETA countdown and a stylised route map with the rider moving along it. Rider card with a call action, then rate your order once it's delivered. Status is stored in Room and keeps advancing when you leave the screen. Tracking resumes after the app restarts. A scheduled order waits as "Order scheduled" until its slot begins, then runs the same live timeline. Order history with reorder. Reorder reprices dishes from today's menu and skips dishes that are no longer available. Favourites (heart a restaurant from any card) and a Profile screen: Editable profile and saved addresses. System / Light / Dark theme. Notification preference toggles (saved locally). Edge-to-edge UI, splash screen, adaptive and themed launcher icon, and a consistent light and dark theme with tomato and saffron accents on cream.
License
MIT
About this version
- Version
- 1.0.0 (1)
- Size
- 18.66 MB
- Requires Android
- 7.0
- Target SDK
- 24
- Architecture
- x86, x86_64, arm64-v8a, armeabi-v7a
- Downloads
- 2
- Updated
- Oct 3, 2026
- Package
- io.github.ieswar23.forkly
Similar apps
Ratings & reviews
- 50
- 40
- 30
- 20
- 10