Travel & Tourism

Explore Jordan: Tourism App + Landing Website

A comprehensive tourism platform — Flutter mobile app with Mapbox maps, thousands of places in a local database, chat system, blogs, and bilingual support — plus a Tailwind CSS landing website with a contact form.

75 Days
TimelineMilestone 1
iOS, Android & Web
PlatformsCross-Platform
2 Developers
TeamFull Stack
Explore Jordan

Key Features

🗺️

Explore Map

Interactive Mapbox map with 25,000+ places stored locally in SQLite. Viewport-based rendering, category filtering, geolocation, and zoom-based density limits for smooth performance.

MapboxSQLiteOffline-FirstGPS
🏢

Home Dashboard

Multi-tab home screen: Place of the Day spotlight, newly added places, curated blogs (Accommodation, Tours, Culture, Tour Guides), and personal saved places.

4 TabsREST APICached Images
🗄️

Authentication

Email-based OTP authentication. Users enter their email, receive a code, and authenticate. Sessions are managed with auto-expiry and background monitoring for security.

OTP FlowSession MgmtAuto Expiry
🔔

Push Notifications

Firebase Cloud Messaging with Awesome Notifications for rich push alerts. Android initialises at startup; iOS requests permission during onboarding. Topic-based subscriptions.

Firebase FCMiOS + AndroidTopics
🌐

Bilingual Support

Full English and Arabic support with dynamic switching. App adjusts text direction (LTR/RTL) globally without restart. All content models carry both EN and AR fields.

Arabic RTLGetX i18nDynamic Switch
🌓

Light & Dark Mode

Full Material 3 light and dark theme support. ThemeController manages the active mode and persists user choice via GetStorage across sessions.

Material 3GetStoragePersistent
📅

Trip Planner

Dedicated planner screen for users to organise and plan their Jordan trips, built as a complete feature module with its own navigation entry point.

PlanningDedicated Screen
👥

User Profile

Profile with logged-in state detection, personalised header, update profile, settings, help centre, terms, privacy policy, and WhatsApp support link.

ProfileSettingsHelp Centre
💻

Settings Module

Dedicated screens for Language, Theme, Notification Preferences (push & email), and Currency. All settings persisted using SharedPreferences.

LanguageThemeNotificationsCurrency
📄

Image Gallery & Viewer

Full-screen viewer with pinch-to-zoom, swipe navigation, and carousel display for place galleries. Images lazily loaded and cached with cached_network_image.

Photo ViewCarouselCached
📱

Auto App Updater

Integrated upgrade checker automatically prompts users to update when a new version is available on App Store or Google Play.

UpgraderApp StorePlay Store
🧭

Onboarding Flow

5-screen welcome experience — language selection, 2 feature intro screens, location permission, and notification permission. Smooth page indicators and skip functionality.

5 ScreensSmooth IndicatorPermissions

Development

Tech Stack

Flutter & DartGetXMapbox MapsSQLiteFirebaseHive & GetStorageTailwind CSSGoogle Apps ScriptPHP Custom Admin Panel

Project Details

📅
Timeline
75 Days (M1)
📱
Platforms
iOS, Android & Web
👥
Team Size
2 Developers
🏢
Industry
Tourism & Travel
💻
Framework
Flutter (Dart) + Tailwind
🗄️
Backend
Firebase + REST API + SQLite

Client Feedback

“Their team implemented advanced mapping features including Mapbox integration and smart map filtering on our tourism platform. They demonstrated strong technical expertise and a clear understanding of how to translate complex ideas into practical solutions. Professional, reliable, and easy to work with. Communication was smooth and deadlines were respected. I highly recommend BitsAccurate to anyone looking for a capable development partner.”

Muath Khawaj

Project Lead, Explore Jordan

Screenshots

Mobile App

Explore Jordan App - Dashboard
Explore Jordan App - Mapbox map
Explore Jordan App - Blogs

Landing Website

Explore Jordan Website - Homepage
Explore Jordan Website - About
Explore Jordan Website - Contact
Explore Jordan Website - Responsive
Explore Jordan Website - Mobile view