Introduction

The main job of AdventureTube iOS is to bring the user’s content from their YouTube channel and help them repackage it by chopping it into chapters based on their travel route. This information is then stored as JSON in the backend server, which can subsequently post each chapter at precise locations using Google Maps.

AdventureTube iOS Development

Features

  • User Authentication: Supports Google Sign-In for seamless login and account management.
  • YouTube Integration: Enables users to upload and manage YouTube videos directly from the app.
  • Geospatial Mapping: Allows users to tag video chapters to specific locations on a map.
  • CoreData Storage: Manages offline data persistence and caching.
  • Custom Navigation: Uses CustomNavView and CustomNavLink for a unique SwiftUI-based navigation experience.
  • API Communication: Utilizes AdventureTubeAPIService for network requests via Combine.
  • Dependency Injection: Improves modularity and testability.
  • CI/CD Pipeline: Automated deployment through Jenkins with Raspberry Pi infrastructure.

Architecture

The app follows a modular architecture with:

  • ViewModel-driven UI: Implements MVVM for a clean separation of concerns.
  • Combine Framework: Handles asynchronous API calls and state management.
  • SwiftUI for UI Components: Ensures a responsive and modern user interface.
  • Microservices Backend: Communicates with the AdventureTube Spring Boot microservices.