Skip to content

artyorsh/schiffradar

Repository files navigation

Schiffradar

Validate Build

Description

Schiffradar (German for "Ship Radar") - a mobile application that tracks vessels in real-time using AIS data. Works in combination with aisstream.io ingestion server.

Stack

  • expo
  • react-native
  • react-navigation
  • react-native-unistyles
  • mobx-react
  • inversifyjs
  • jest
  • react-native-testing-library
  • @rnmapbox/maps
  • typescript
  • eslint

Features

  • AIS data polling with advanced configuration options (see architecture components).
  • Interactive map with markers and data clustering.
  • Location permissions.
  • Vessel details via MarineTraffic.com.
  • Splash Screen Animation, fully compatible with expo-splash-screen.
  • Light and Dark themes with flexible customization.
  • CI/CD with GitHub Actions and EAS.
  • Localization and multi-language support via lingui.
  • Modularized architecture with Dependency Injection.

Setup

Install Bun.

bun i
cp .env.example .env
# Update the:
# - EXPO_PUBLIC_HTTP_BASE_URL
# - EXPO_PUBLIC_MAPBOX_ACCESS_TOKEN,
# - EXPO_PUBLIC_MAPBOX_RNMapboxMapsDownloadToken

Running

Start Metro bundler and follow the instructions in terminal to run the app.

bun run start

Location

Zuidpier IJmuiden: 52.4637027,4.5297216 (or anything within the ingestor bbox).

Android

  • Configure: Emulator > More > Location > Search
  • Reset permissions:adb shell pm reset-permissions

iOS

  • Configure: Simulator > Features > Location > Custom Location
  • Reset permissions: Reinstall the app or xcrun simctl erase all

Other apps

LiquidChat

Author

Artur Yersh

About

Expo, Mapbox and real-time vessel tracking.

Resources

License

Stars

Watchers

Forks