Skip to content

monroju/ReloApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# GoThere iOS iOS version of the GoThere relocation planning app, converted from the Android (Kotlin/Jetpack Compose) version. ## Features - **Multi-Country Support**: Spain, Portugal, Mexico with country-specific visa tracks - **Decision Tree**: Personalized city recommendations based on preferences - **Task Management**: Phase-based relocation checklists with Firestore sync - **Calendar**: Event management with local notifications - **Documents**: Upload/download documents via Firebase Storage - **Resources**: Official links and downloadable guides per country - **Cost Calculator**: Compare living costs across 16 cities - **Visa Packs**: Document checklists for each country's visa types - **In-App Purchases**: StoreKit 2 for country pack unlocking - **Authentication**: Firebase Auth (email/password) - **Dark/Light Theme**: User preference with persistence ## Requirements - Xcode 15+ - iOS 16.0+ - Swift 5.9+ - Firebase project (GoogleService-Info.plist required) ## Setup ### 1. Generate Xcode Project Install XcodeGen and run: ```bash brew install xcodegen cd GoThere-iOS xcodegen generate ``` This reads `project.yml` to create `GoThere.xcodeproj`. ### 2. Firebase Configuration 1. Create a Firebase project at https://console.firebase.google.com 2. Add an iOS app with bundle ID `com.gothere.app` 3. Download `GoogleService-Info.plist` 4. Place it in the `GoThere/` directory 5. Enable Authentication (Email/Password) 6. Enable Firestore Database 7. Enable Firebase Storage ### 3. Build & Run ```bash open GoThere.xcodeproj ``` Select a simulator or device and press Run. ## Architecture - **MVVM** with ObservableObject ViewModels - **SwiftUI** declarative UI framework - **Firebase** for Auth, Firestore, Storage - **StoreKit 2** for in-app purchases - **UserNotifications** for calendar reminders - **Combine** for reactive data flow ## Project Structure ``` GoThere/ �%%% App/ # App entry point, Info.plist, entitlements �%%% Models/ # Data models (TaskItem, EventItem, etc.) �%%% Data/ # Static data (destinations, phases, costs) �%%% ViewModels/ # MVVM ViewModels �%%% Services/ # Repositories, auth, purchases, notifications �%%% Views/ �% �%%% Auth/ # Login/SignUp �% �%%% Home/ # Main tab view, home dashboard �% �%%% Tasks/ # Task management �% �%%% Calendar/ # Calendar events �% �%%% Documents/ # Document upload/storage �% �%%% Resources/ # Web resources & downloads �% �%%% DecisionTree/ # City recommendation quiz �% �%%% CostCalculator/ # Living cost comparison �% �%%% Destinations/ # Country/visa track selection �% �%%% VisaPack/ # Visa document checklists �% �%%% Paywall/ # In-app purchase UI �% �%%% Components/ # Reusable UI components �%%% Theme/ # Colors, styles �%%% Assets.xcassets/ # App icon, colors ``` ## Android Parity This iOS app mirrors the Android version's feature set: | Feature | Android | iOS | |---------|---------|-----| | Authentication | Firebase Auth | Firebase Auth | | Task Management | Firestore | Firestore | | Calendar | Firestore + AlarmManager | Firestore + UserNotifications | | Documents | Firebase Storage | Firebase Storage | | Resources | Firebase Storage | Firebase Storage | | Decision Tree | Custom engine | Custom engine | | Cost Calculator | Static data | Static data | | Visa Packs | Static data | Static data | | In-App Purchases | Google Play Billing | StoreKit 2 | | Notifications | AlarmManager | UserNotifications | | Theme | DataStore | AppStorage |

About

ReloApp

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors