MyFxApp is a multiplatform .NET MAUI application developed as a final project for the Microsoft Software & Systems Academy. It leverages the MyFxBook API to track forex account progress in real time. The app utilizes local SQLite caching (with a 5-minute refresh policy), MVVM architecture, dependency injection, and Microcharts for data visualization.
MyFxApp is designed to help forex traders monitor their account performance on the go. The application:
- Authenticates with the MyFxBook API using user credentials.
- Retrieves and caches account details locally using SQLite.
- Displays a list of all forex accounts with custom widget images.
- Shows detailed account information along with historical performance charts powered by Microcharts.
- Utilizes a clean MVVM architecture with dependency injection for maintainability and future expansion.
- Multi-Platform: Runs on Windows, Android, iOS, and Mac Catalyst using .NET MAUI.
- Real-Time Data: Retrieves account data via the MyFxBook API and updates every 5 minutes.
- Local Caching: Uses SQLite for efficient local storage and caching.
- Modern UI: Implements a clean and responsive user interface with custom widget images and charts.
- Data Visualization: Visualizes historical forex data using Microcharts.
- User Authentication: Secure login and logout via MyFxBook API endpoints.
- MVVM Architecture: Provides a modular, scalable codebase suitable for further expansion.
Watch the demonstration video showcasing the development of MyFxApp and showcasing it's key features and UI in action:
MyFxApp Development Video
-
Login:
Enter your MyFxBook credentials to log in. The session is used for subsequent API calls. -
Accounts Screen:
View a list of all your forex accounts. Each account displays a custom widget image and basic details. -
Account Details:
Tap an account to view detailed information including open trades, orders, historical performance, and a performance chart. -
Logout:
Use the Logout button in the toolbar to sign out.
- .NET MAUI (latest stable release)
- Visual Studio 2022 (or later) with MAUI workload installed
- Access to the MyFxBook API (valid credentials)
-
Clone the Repository:
git clone https://github.com/Jrod7938/MyFxApp.git cd MyFxApp
-
Restore NuGet Packages:
dotnet restore
-
Build and Run:
- Windows:
dotnet maui run -f net8.0-windows10.0.19041.0
- Android:
dotnet maui run -f net8.0-android
- iOS:
dotnet maui run -f net8.0-ios
- Mac Catalyst:
dotnet maui run -f net8.0-maccatalyst
- Windows:
-
App.xaml / AppShell.xaml:
Defines the Shell navigation structure and global resources. -
MauiProgram.cs:
Configures dependency injection, registers services, view models, and views. -
Models:
Contains data models representing MyFxBook API responses (e.g., Account, OpenTrade, HistoryEntry). -
Services:
Provides API services (IMyFxBookApiService) and local storage (ILocalStorageService) for data retrieval and caching. -
ViewModels:
Implements MVVM logic for login, account listing, and account detail screens. -
Views:
Contains XAML pages for Login, Accounts, and Account Details screens.
- Developed by: Jancarlos Rodriguez
- Microsoft Software & Systems Academy Final Project
- Powered by: MyFxBook API, .NET MAUI, Microcharts, SQLite-net, and CommunityToolkit.MVVM
This project is licensed under the MIT License. See the LICENSE file for details.