Skip to content

tecwindow/Dabbirni

Repository files navigation

Dabbirni (دبّرني)

Can't decide what to eat? Dabbirni spins the wheel for you. Add your restaurants and meals, pick a meal time (Breakfast / Lunch / Dinner), and let the app randomly pick what you're having today — with an animated reel, confetti, and haptics.

This is the Android edition, a feature-for-feature port of the iOS app, built with Jetpack Compose and Room. Like the original it is fully screen-reader (TalkBack) compatible and localized in English and Arabic with full RTL support.

Features

  • Meal-time tabs — filter everything by Breakfast, Lunch, or Dinner.
  • Restaurants & meals — meals can belong to a restaurant or stand alone.
  • Spin All — randomly pick from every option in the current meal time.
  • Spin a restaurant — narrow the pick to one restaurant's meals (swipe a row, or use the TalkBack "Spin" action).
  • Animated spin — an easing reel, success haptics, and a confetti celebration.
  • Swipe actions — swipe to delete; swipe a restaurant to spin it. The same actions are exposed to TalkBack as custom accessibility actions.
  • Accessibility first — labels, hints, headings, and spoken announcements for the spin start and result.
  • Localized — English and Arabic (العربية), RTL-aware.
  • Light & dark themes — a branded orange palette that follows the system setting.

Architecture

Layer Pieces
Data Room (Restaurant, Meal, cascade relation), DabbirniDao, Converters
State DabbirniViewModel (Flows), SpinController (the reel/result state machine)
Spin SpinResult — builds the spinnable options for a category
UI Compose screens: Home, Restaurant detail, Add restaurant, Add meal, Spin overlay

Build

./gradlew assembleDebug

Requires the Android SDK and a JDK 11+. Minimum SDK 28, target SDK 36.

About

this is Dabbirni

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages