120 lines
3.2 KiB
Markdown
120 lines
3.2 KiB
Markdown
# rmtPocketWatcher Flutter App
|
|
|
|
A cross-platform Flutter application for tracking Star Citizen AUEC prices.
|
|
|
|
## Setup Requirements
|
|
|
|
### Windows Desktop Development
|
|
|
|
You need Visual Studio 2022 with specific components. Run the Visual Studio Installer and ensure you have:
|
|
|
|
1. **Desktop development with C++** workload
|
|
2. **MSVC v143 - VS 2022 C++ x64/x86 build tools** (latest version)
|
|
3. **Windows 11 SDK** (10.0.22621.0 or later)
|
|
4. **CMake tools for Visual Studio**
|
|
|
|
### Quick Fix for Visual Studio Components
|
|
|
|
1. Open **Visual Studio Installer**
|
|
2. Click **Modify** on Visual Studio Community 2022
|
|
3. Go to **Workloads** tab
|
|
4. Check **Desktop development with C++**
|
|
5. Go to **Individual components** tab
|
|
6. Ensure these are checked:
|
|
- MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)
|
|
- Windows 11 SDK (10.0.22621.0)
|
|
- CMake tools for Visual Studio
|
|
7. Click **Modify** and wait for installation
|
|
|
|
## Development Commands
|
|
|
|
```bash
|
|
# Install dependencies
|
|
flutter pub get
|
|
|
|
# Check setup
|
|
flutter doctor
|
|
|
|
# Run on Windows (after fixing VS components)
|
|
flutter run -d windows
|
|
|
|
# Build for Windows
|
|
flutter build windows
|
|
|
|
# Run on web (works without C++ components)
|
|
flutter run -d chrome
|
|
```
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
lib/
|
|
├── main.dart # App entry point
|
|
├── models/
|
|
│ └── price_data.dart # Data models
|
|
├── providers/
|
|
│ └── price_provider.dart # State management
|
|
├── screens/
|
|
│ └── home_screen.dart # Main dashboard
|
|
├── services/
|
|
│ ├── api_service.dart # REST API
|
|
│ ├── websocket_service.dart # WebSocket
|
|
│ └── storage_service.dart # Local storage
|
|
└── widgets/
|
|
├── alerts_panel.dart # Price alerts
|
|
├── price_chart.dart # Charts
|
|
├── price_stats_card.dart # Stats cards
|
|
└── vendor_table.dart # Vendor table
|
|
```
|
|
|
|
## Features
|
|
|
|
- **Real-time price tracking** via WebSocket
|
|
- **Bloomberg-style dashboard** with stats cards
|
|
- **Interactive price charts** with fl_chart
|
|
- **Price alerts** with local notifications
|
|
- **Vendor comparison table** with sorting
|
|
- **Cross-platform support** (Windows, macOS, Linux, Android, iOS)
|
|
|
|
## Backend Integration
|
|
|
|
The app connects to the existing TypeScript backend:
|
|
- **API**: `http://localhost:3000`
|
|
- **WebSocket**: `ws://localhost:3000/ws/index`
|
|
|
|
Configure in `.env` file:
|
|
```env
|
|
API_URL=http://localhost:3000
|
|
WS_URL=ws://localhost:3000/ws/index
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### "Visual Studio is missing necessary components"
|
|
- Install the C++ workload and components listed above
|
|
- Restart your terminal after installation
|
|
- Run `flutter doctor` to verify
|
|
|
|
### "Unable to find directory entry in pubspec.yaml"
|
|
- Ensure the `assets/` directory exists
|
|
- Run `flutter clean && flutter pub get`
|
|
|
|
### WebSocket connection issues
|
|
- Ensure backend is running on port 3000
|
|
- Check firewall settings
|
|
- Verify `.env` configuration
|
|
|
|
## Mobile Support
|
|
|
|
The same codebase works on mobile with responsive design:
|
|
- **Desktop**: Multi-column layout
|
|
- **Mobile**: Single-column scrollable layout
|
|
- **Responsive charts** and tables
|
|
|
|
```bash
|
|
# Run on Android (requires Android Studio)
|
|
flutter run -d android
|
|
|
|
# Run on iOS (requires Xcode on macOS)
|
|
flutter run -d ios
|
|
``` |