Key Features
The mobile app provides essential financial management capabilities:- Secure Authentication - OAuth 2.0 with SSO support and two-factor authentication (MFA)
- Account Dashboard - View all linked accounts with real-time balances
- Transaction Management - View, create, edit, and delete transactions
- Calendar View - Visualize transactions and events on a calendar
- AI Chat Assistant - Get financial insights (when enabled on your account)
- Offline Support - Queue transactions when offline and sync automatically
- Material Design 3 - Modern UI with light/dark theme support
Platform Availability
iOS
Available for iOS 12.0 and laterDownload from TestFlight (beta) or build from source
Android
Available for Android 5.0 (API 21) and laterDownload APK from releases or build from source
System Requirements
iOS
- iOS 12.0 or later
- iPhone, iPad, or iPod touch
- Internet connection for server sync
Android
- Android 5.0 (Lollipop, API level 21) or later
- ARMv7, ARM64, or x86 processor
- Internet connection for server sync
Installation
iOS (TestFlight)
The iOS app is distributed via TestFlight for beta testing:- Install TestFlight from the App Store
- Get the TestFlight invitation link from your administrator
- Open the link on your iOS device
- Tap “Accept” and install the Sure app
iOS builds are automatically uploaded to TestFlight when new versions are tagged with
mobile-release-*.Android (Direct APK)
For Android, download the APK directly:- Go to the GitHub Releases page
- Download the latest
app-release.apk - Enable “Install from Unknown Sources” in your device settings
- Open the APK file to install
Building from Source
Developers can build the app from source. See the Setup Guide for detailed instructions.Architecture
Technology Stack
- Framework: Flutter 3.27.0+
- Language: Dart 3.0+
- State Management: Provider pattern
- Networking: HTTP with automatic token refresh
- Storage:
- Flutter Secure Storage for tokens and sensitive data
- SharedPreferences for app settings
- SQLite (sqflite) for offline transaction queue
Project Structure
API Integration
The mobile app communicates with the Sure Rails backend via REST API:Authentication Endpoints
POST /api/v1/auth/login- Email/password loginPOST /api/v1/auth/signup- User registrationPOST /api/v1/auth/refresh- Token refreshPOST /api/v1/auth/sso_exchange- Exchange SSO authorization code
Data Endpoints
GET /api/v1/accounts- Fetch user accountsGET /api/v1/transactions- Get transactions (with optional account filter)POST /api/v1/transactions- Create transactionPUT /api/v1/transactions/:id- Update transactionDELETE /api/v1/transactions/:id- Delete transaction
Chat Endpoints
GET /api/v1/chats- List chat conversationsPOST /api/v1/chats- Create new chatGET /api/v1/chats/:id/messages- Get messagesPOST /api/v1/chats/:id/messages- Send message
All API requests include automatic token refresh and retry logic to maintain session continuity.
Security Features
Secure Token Storage
Tokens are stored using Flutter Secure Storage, which provides:- Encrypted storage on both iOS (Keychain) and Android (KeyStore)
- Automatic data clearing when the app is uninstalled
- Protection against unauthorized access
Token Management
- Access tokens are automatically refreshed before expiration
- Refresh tokens are used to obtain new access tokens
- Invalid tokens trigger automatic logout and redirect to login
Device Tracking
Each login records device information:- Device ID (UUID)
- Device name
- Device type (iOS/Android)
- OS version
- App version
Configuration
Backend Server
On first launch, the app prompts for your Sure backend server URL:- Local Development:
http://10.0.2.2:3000(Android) orhttp://localhost:3000(iOS) - Production:
https://your-sure-server.com
API Configuration
Configuration is managed inlib/services/api_config.dart:
App Version
Current version: 0.6.9 Version information is defined inpubspec.yaml:
major.minor.patch+buildNumber.
Future Enhancements
Planned features for upcoming releases:- Budget management and tracking
- Investment portfolio tracking
- Push notifications for transactions and alerts
- Biometric authentication (fingerprint/Face ID)
- Multi-language support
- Enhanced offline capabilities
- Financial charts and visualizations
- Receipt photo capture and attachment
Getting Help
- Documentation: Check the Setup Guide and Authentication Guide
- Issues: Report bugs on GitHub Issues
- Source Code: GitHub Repository