https://github.com/banghuazhao/financial-ratios-go
📊 iOS app for calculating and analyzing 18+ financial ratios. Compare companies, manage financial statements, and get detailed ratio explanations. Built with Swift, Core Data, and modern iOS frameworks.
https://github.com/banghuazhao/financial-ratios-go
balance-sheet business cash-flow cocoapods company-comparison core-data debt-ratios finance financial-analysis financial-calculator financial-ratios financial-statements income-statement investment-analysis ios liquidity-ratios mobile-app profitability-ratios swift uikit
Last synced: 2 months ago
JSON representation
📊 iOS app for calculating and analyzing 18+ financial ratios. Compare companies, manage financial statements, and get detailed ratio explanations. Built with Swift, Core Data, and modern iOS frameworks.
- Host: GitHub
- URL: https://github.com/banghuazhao/financial-ratios-go
- Owner: banghuazhao
- License: mit
- Created: 2025-06-28T07:39:33.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-06-28T08:34:26.000Z (4 months ago)
- Last Synced: 2025-06-28T09:33:34.959Z (4 months ago)
- Topics: balance-sheet, business, cash-flow, cocoapods, company-comparison, core-data, debt-ratios, finance, financial-analysis, financial-calculator, financial-ratios, financial-statements, income-statement, investment-analysis, ios, liquidity-ratios, mobile-app, profitability-ratios, swift, uikit
- Language: Swift
- Homepage:
- Size: 2.94 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Financial Ratios Go 📊
A powerful iOS application for calculating and analyzing financial ratios. This comprehensive tool provides professional-grade financial analysis, company comparison, and ratio calculations with an intuitive, modern interface. Powered by real-time financial data from [Financial Modeling Prep API](https://site.financialmodelingprep.com/developer/docs).
## 📱 Screenshots
![]()
![]()
![]()
## 📱 Features
### Core Functionality
- **Financial Ratio Calculations**: Calculate 18+ key financial ratios across 4 categories:
- **Liquidity Measurement Ratios**: Current Ratio, Cash Ratio, Acid-Test Ratio
- **Debt Ratios**: Debt Ratio, Interest Coverage, Cash Flow to Debt Ratio, Debt to Equity Ratio, Equity Ratio
- **Profitability Indicator Ratios**: Operating Profit Margin, Net Profit Margin, Return on Equity, Return on Debt, Return on Invested Capital, Return on Capital Employed
- **Cash Flow Indicator Ratios**: CFROI, Dividend Payout Ratio, Free Cash Flow-To-Sales, Retention Ratio### Financial Statements Support
- **Income Statement**: Revenue, Operating Income, EBIT, Interest Expense, Income Tax Expense, Net Income
- **Balance Sheet**: Cash and Cash Equivalents, Short-term Investments, Receivables, Total Current Assets, Total Assets, Short-term Debt, Long-term Debt, Total Current Liabilities, Total Liabilities, Total Shareholders Equity
- **Cash Flow Statement**: Operating Cash Flow, Dividend Payments, Free Cash Flow### Company Management
- **Company Profiles**: Create and manage company profiles with logos and information
- **Fiscal Periods**: Support for different fiscal periods (Quarterly, Annual)
- **Company Comparison**: Side-by-side comparison of financial ratios between companies
- **Pre-loaded Companies**: Extensive database of companies with financial data### User Experience
- **Multi-language Support**: English, Japanese, Chinese (Simplified, Traditional, Hong Kong)
- **Modern UI**: Clean, intuitive interface with smooth animations
- **Offline Capability**: Core functionality works without internet connection
- **Data Persistence**: Core Data integration for local data storage### Additional Features
- **In-App Purchases**: Remove ads functionality
- **Google Mobile Ads**: Integrated advertising system
- **App Store Integration**: Store review prompts and ratings
- **Social Sharing**: Share results and company comparisons
- **Feedback System**: Built-in feedback and support features## 🏗️ Architecture
### Project Structure
```
Financial Ratios Go/
├── AppDelegate.swift # Main app delegate
├── FRGBaseModule/ # Base UI components
├── Home/ # Main app functionality
│ ├── Company/ # Company management
│ ├── Controller/ # Main view controllers
│ ├── CreateNew/ # Creation flows
│ ├── Menu/ # Settings and menu
│ ├── Model/ # Data models
│ └── View/ # Custom UI components
├── RatioResult/ # Results display
├── Resource/ # Static resources
├── Utilities/ # Helper classes and extensions
└── Assets.xcassets/ # App icons and images
```### Key Components
#### Data Models
- `FinancialRatio.swift`: Defines all financial ratio categories and calculations
- `FinancialStatement.swift`: Income statement, balance sheet, and cash flow statement models
- `Company.swift`: Company profile and information model
- `FiscalPeriod.swift`: Fiscal period management#### Core Features
- **Single Analysis**: Calculate ratios for individual companies
- **Comparison Mode**: Compare financial ratios between two companies
- **Company Management**: CRUD operations for company profiles
- **Data Persistence**: Core Data integration for local storage## 🛠️ Technical Stack
### Dependencies
- **IQKeyboardManager** (~> 6.2.1): Keyboard management
- **SnapKit** (~> 5.0.0): Auto Layout DSL
- **EFCountingLabel**: Animated counting labels
- **Kingfisher**: Image loading and caching
- **SkeletonView**: Loading state animations
- **Google-Mobile-Ads-SDK**: Advertisement integration
- **MBProgressHUD**: Progress indicators
- **Then**: Object initialization
- **Toast-Swift**: Toast notifications### Core Technologies
- **Swift**: Primary programming language
- **UIKit**: User interface framework
- **Core Data**: Local data persistence
- **StoreKit**: In-app purchases
- **Foundation**: Core functionality### Supported Platforms
- iOS (iPhone and iPad)
- macOS (via Mac Catalyst)## 🚀 Getting Started
### Prerequisites
- Xcode 12.0 or later
- iOS 12.0+ deployment target
- CocoaPods for dependency management### Installation
1. **Clone the repository**
```bash
git clone https://github.com/banghuazhao/financial-ratios-go.git
cd financial-ratios-go
```2. **Install dependencies**
```bash
pod install
```3. **Open the workspace**
```bash
open "Financial Ratios Go.xcworkspace"
```4. **Build and run**
- Select your target device or simulator
- Press `Cmd + R` to build and run### Configuration
#### Google Mobile Ads
The app uses Google Mobile Ads for monetization. Update the following in `Info.plist`:
```xml
GADApplicationIdentifier
YOUR_ADMOB_APP_ID
```#### App Store Connect
For production builds:
1. Update bundle identifier
2. Configure signing certificates
3. Set up App Store Connect metadata## 📊 Usage
### Single Company Analysis
1. Select a company from the list or create a new one
2. Choose a fiscal period
3. Enter financial statement data
4. View calculated financial ratios with explanations### Company Comparison
1. Select two companies to compare
2. Choose fiscal periods for each company
3. Enter financial data for both companies
4. View side-by-side ratio comparison### Managing Companies
- **Add Company**: Create new company profiles with logos
- **Edit Company**: Modify existing company information
- **Fiscal Periods**: Manage different reporting periods
- **Data Import**: Import financial data from external sources## 🌐 Localization
The app supports multiple languages:
- **English** (en)
- **Japanese** (ja)
- **Chinese Simplified** (zh-Hans)
- **Chinese Traditional** (zh-Hant)
- **Chinese Hong Kong** (zh-HK)Localization files are located in the respective `.lproj` directories.
## 🔧 Development
### Code Style
- Follow Swift style guidelines
- Use meaningful variable and function names
- Add comments for complex business logic
- Maintain consistent indentation### Adding New Features
1. Create new models in the `Model` directory
2. Add view controllers in appropriate directories
3. Update the tab bar controller if needed
4. Add localization strings
5. Test on multiple devices and orientations### Testing
- Unit tests for financial calculations
- UI tests for user flows
- Integration tests for data persistence
- Performance testing for large datasets## 📱 App Store
### Requirements
- iOS 12.0 or later
- iPhone and iPad compatible
- Universal app (iPhone + iPad)
- Mac Catalyst support### App Store Categories
- **Primary**: Finance
- **Secondary**: Business### Privacy
- No personal data collection
- Financial data stored locally
- Optional analytics for app improvement## 🤝 Contributing
We welcome contributions! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request### Development Guidelines
- Follow existing code patterns
- Add appropriate documentation
- Include unit tests for new features
- Update localization files
- Test on multiple devices## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## 👨💻 Author
**Banghua Zhao**
- Created: September 2019
- Email: banghuazhao@gmail.com
- GitHub: [@banghuazhao](https://github.com/banghuazhao)## 🙏 Acknowledgments
- Financial ratio formulas and explanations
- UI/UX design inspiration
- Community feedback and suggestions
- Open source contributors## 📞 Support
For support and questions:
- Create an issue on GitHub
- Contact through the app's feedback feature
- Email: banghuazhao@gmail.com## ⭐ Star History
[](https://star-history.com/#banghuazhao/financial-ratios-go&Date)
---
**Financial Ratios Go** - Making financial analysis accessible and intuitive for everyone. 📈