Case Studies
Full stack development of application for amateur golfers
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