THQMe is the mobile companion app for THQ (TrainLCD Telemetry Headquarters), providing real-time telemetry monitoring and visualization capabilities on mobile devices. Built with Expo and React Native, this app enables field monitoring of location data, speed metrics, and system logs through WebSocket connections.
Note: THQ and THQMe are specifically designed for TrainLCD developers and the TrainLCD ecosystem. While the source code is open for transparency and learning purposes, these tools are optimized for TrainLCD's specific telemetry requirements and may not be suitable for other projects without significant modifications.
- Real-time Telemetry Monitoring: Monitor location data and system logs from mobile devices
- Cross-platform Support: Runs on iOS, Android, and web platforms
- WebSocket Integration: Connects to THQ servers for real-time data streaming
- Responsive Mobile UI: Optimized interface for mobile and tablet devices
- Offline Capability: Local data caching for intermittent connectivity scenarios
- Node.js (v18 or later)
- Expo CLI
- For iOS development: Xcode and iOS Simulator
- For Android development: Android Studio and Android Emulator
-
Clone the repository:
git clone https://github.com/TrainLCD/THQMe.git cd THQMe -
Install dependencies:
npm install
-
Start the development server:
npx expo start
In the output, you'll find options to open the app in:
- Development build: For testing with native functionality
- iOS Simulator: For iOS development and testing
- Android Emulator: For Android development and testing
- Expo Go: For quick testing and development (limited native functionality)
- Web Browser: For web platform testing
THQMe is built using modern React Native and Expo technologies:
- Frontend: React Native with Expo
- Routing: Expo Router for file-based navigation
- State Management: React hooks and context
- Networking: WebSocket connections to THQ servers
- UI Components: Custom themed components with dark mode support
app/
βββ (tabs)/ # Tab-based navigation screens
β βββ _layout.tsx # Tab layout configuration
β βββ index.tsx # Main monitoring dashboard
β βββ explore.tsx # Additional features
βββ _layout.tsx # Root layout
βββ +not-found.tsx # 404 error page
components/
βββ ui/ # Platform-specific UI components
βββ ThemedText.tsx # Themed text component
βββ ThemedView.tsx # Themed view component
βββ ... # Other reusable components
constants/
βββ Colors.ts # Color scheme definitions
hooks/
βββ useColorScheme.ts # Color scheme management
βββ useThemeColor.ts # Theme color utilities
npm start- Start Expo development servernpm run android- Start with Android emulatornpm run ios- Start with iOS simulatornpm run web- Start web versionnpm run lint- Run ESLintnpm run reset-project- Reset to blank project template
The app can be configured to connect to different THQ server instances by modifying the WebSocket endpoint settings.
- THQ - Main telemetry headquarters application
- TrainLCD Mobile App - The new sense mobile navigation app
- StationAPI - gRPC-Web API for nearby Japanese train stations
We welcome contributions to THQMe from TrainLCD developers and contributors! Please note that this project is specifically designed for the TrainLCD ecosystem.
Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run linting (
npm run lint) - Test on multiple platforms
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is part of the TrainLCD ecosystem. Please see the LICENSE file for details.
For questions and support:
- Open an issue on GitHub
- Contact the TrainLCD team
- Check the THQ documentation for server setup
To learn more about the technologies used in this project:
- Expo Documentation: Learn about Expo development
- React Native Documentation: Learn React Native fundamentals
- Expo Router: File-based navigation system