Full stack development of application for amateur golfers.

I. Front-end – Android/iOS mobile application, including:

  • Routing
  • OAuth authentication – via Google and Apple
  • Location services – including custom polygon-based GeoFencing solution
  • Push notifications
  • Firebase integration – including Firebase Messaging, Firebase Crashlytics, Firebase Analytics and Firebase Remote Configuration
  • In-app-purchases (IAP) – including Apple App Store and Google Play Store integration
  • Leader Board
  • Statistics
  • Google Cloud Platform integration
  • Camera and photo gallery integration, including image taking, picking and cropping
  • State management, including saving / restoring application state
  • Custom widgets
  • Network connectivity check
  • Localization
  • Automatic generation of REST API client based on OpenAPI / Swagger spec via OpenAPI Generator
  • Automatic generation of app routing
  • Automatic generation of app localizations
  • Automatic generation of app launcher icons
  • Automatic generation of app splash screen

II. Back-end – development and integration, including:

  • In-app-purchases integration, including: Apple App Store integration, Google Play Store integration, Verifying purchase receipts / receipt validation, Purchase history / transaction history, Restoring purchases, Promotions
  • Firebase Cloud Messaging integration – including over 30 different notifications sent out depending on context / event generated, sending of both notifications and data messages, triggering of specific actions on the front-end of the application via meta-data embedded in data messages’ payloads, management of FCM tokens (CRUD)
  • Challenges – gamification of on-golf course competitions
  • Firebase Remote Configuration integration – including synchronization of challenges-related configuration (commission, etc.) across back-end and front-end via Firebase Remote Config
  • Custom polygon-based GeoFencing solution
  • Golf course game scoring with possible cheats detection
  • Leader Board
  • Statistics
  • Swagger integration – for automated generation of OpenAPI spec at both build time and runtime
  • Liveness / readiness health check of REST API endpoints

III. CI/CD – multi-stage CI/CD pipeline, including:

  • automated application build
  • automated integration tests
  • automated Docker image build and publishing
  • automated MongoDB cluster backup
  • automated deployment to staging environment
  • ensuring ordered bootstrap of services (WAIT) 
  • automated REST API tests ( smoke tests, scenario tests )

Technology stack

  • Front-end
    • Dart
    • Flutter
    • FlutterFire – including Firebase Messaging, Firebase Crashlytics, Firebase Analytics and Firebase Remote Configuration
    • Plugins such as auto_route, bloc, dio, geolocator, hydrated, in_app_purchase, google_maps_flutter, image_cropper, image_picker, intl, and other
  • Back-end
    • Java 11
    • OSGi 7
    • EMF (Eclipse Modeling Framework)
    • Eclipse MMT / QVTO
    • Gecko framework – including Gecko EMF, Gecko EMF Utilties, Gecko EMF Persistence, Gecko Search
    • Java RESTful Web Services (JAX-RS)
    • Apache Felix – including Apache Felix HTTP, Apache Felix Event Admin, Apache Felix Health Checks, Apache Felix Webconsole
    • Eclipse Jetty 9
    • Firebase Admin SDK
    • Google Play Android Developer API / Android Publisher SDK
    • Swagger – including Swagger Annotations, Swagger JAX-RS and Swagger Gradle Plugin
    • OpenAPI Generator
    • Keycloak – including oAuth authentication via Google and Apple
    • Pac4J
    • Lucene Core API
    • Spatial4J / JTS
    • GeoJSON
    • Junit
    • BND
    • Gradle
    • MongoDB
    • Docker
    • Docker Compose
    • Grafana k6
    • Mustache
  • CI/CD
    • Jenkins
    • Docker
    • Docker Compose
    • MongoDB
    • Keycloak
    • Ansible
    • Grafana k6

Industry

sport