Skip to content
/Anchor Mart
E-commerce / ARiOS · Android

Anchor Mart

Maritime E-commerce Marketplace

In Development
Users
28+
Screens
React Native 0.84TypeScriptRedux ToolkitRedux PersistReact NavigationFirebaseReact Native ReanimatedReact Native Fast Image

About the Project

Anchor Mart is a cross-platform React Native e-commerce app built for maritime crews, providing a port-specific catalogue and shopping experience. The product ties shipping-port selection directly to the product catalogue, ensuring users only see items relevant to their current port — a key differentiator for a marketplace serving vessels across dozens of locations.

Authentication is OTP-first via email or WhatsApp using a six-step flow (OtpMethod → EmailOtp / WhatsAppOtp → VerificationCode → SelectLocation → Success). Token state persists through Redux Toolkit + redux-persist backed by AsyncStorage, with all requests including a server-secret key and Token-based Authorization header.

The catalogue layer covers paginated product, shop, and category fetching, a debounced product search with recent-search history, wishlist toggling, and detail screens with image carousels, variant pricing, reviews, and custom notes on add-to-cart. The cart supports throttled quantity updates, coupon codes, order notes, and a price breakdown with a confirmation modal flowing into order tracking.

Firebase is wired end-to-end: Analytics for screen/event tracking, Crashlytics for JS and native crash capture, Cloud Messaging with FCM token refresh and foreground presentation, and App Check via Play Integrity (Android) / App Attest with DeviceCheck fallback (iOS). A custom API client handles request/response/error interceptors, multipart form-data uploads, and exponential-backoff retry on 408/429/5xx statuses.

Key Highlights

Port-based catalogue — product availability ties to selected shipping port
Dual OTP authentication flow via Email or WhatsApp with token persistence
Redux Toolkit with selective persistence (auth + location whitelisted)
Full Firebase suite: Analytics, Crashlytics, FCM, App Check with platform-specific providers
Custom API client with interceptors, retry-on-5xx, and multipart upload support
Bottom-tab navigation with animated tab bar: Home, Saved, Cart, Profile
Debounced product search with recent history and port-aware filtering
Cart flow with throttled quantity updates, coupons, order notes, and tracking

Technical Breakdown

Feature areas & implementation details

Authentication
Dual OTP flow — Email or WhatsApp delivery method selection
Six-step auth funnel: OtpMethod → OTP → Verification → Location → Success
Phone number input with country code formatting
Token stored in Redux + AsyncStorage with automatic header injection
server-secret-key header on every auth request for API gateway validation
Catalogue & Commerce
Home feed with banner carousel, category grid, top markets, and product grid
Port selection screen gates product visibility — catalogue is port-specific
Debounced search with recent search history and port-aware filtering
Product detail: image carousel, variant pricing, reviews, wishlist toggle, share
Cart: throttled qty updates, coupon application, order notes, success modal
Order history and real-time order tracking screen
State Management
Redux Toolkit with four slices: auth, cart, catalog, location
redux-persist with AsyncStorage — whitelist auth + location, blacklist cart + catalog
Async thunks for every backend call with loading, error, and success states
Typed useAppDispatch and useAppSelector hooks for strict type safety
Multi-stack navigation: Root → Auth / Main (BottomTabs) → Common
Firebase Integration
Firebase Analytics — screen views, custom events, user properties
Crashlytics — recordError, setCrashlyticsUser, attributes, JS crash capture
FCM — token refresh, foreground banner/badge/sound, background handlers
App Check — PlayIntegrity (Android), AppAttestWithDeviceCheckFallback (iOS), Debug (dev)
Auto-init disabled for App Check so token refresh is explicit
API & Performance
Custom API client with request / response / error interceptor pipeline
Exponential backoff retry on 408 / 429 / 5xx for GET requests (max 2)
15-second timeout with multipart form-data support for file uploads
useDebounce and useThrottle hooks for search and cart interactions
Fast Image, SafeAreaContainer, ScreenHeader, and EmptyState primitives
iOS new architecture enabled with background modes for fetch and remote notifications

Other Projects

View All →
Arkmantra
Ayurvedic Cosmetics E-Commerce Storefront & Admin

A highly hardened, full-featured D2C storefront and admin control panel designed...

Soul33 – The Beacon
Spirituality, Meditation & Mindfulness Platform

A cross-platform spiritual wellness app live on iOS & Android with Free, Seeker ...

Yoke Yoga
Social Wellness, Live Yoga & Learning Platform

Production yoga social platform — TikTok-style Reels, ZEGOCLOUD live streaming +...