Skip to content

TrainLCD/THQMe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

66 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

THQMe - Mobile Telemetry Monitoring App πŸ“±

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.

✨ Features

  • 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

πŸš€ Getting Started

Prerequisites

  • Node.js (v18 or later)
  • Expo CLI
  • For iOS development: Xcode and iOS Simulator
  • For Android development: Android Studio and Android Emulator

Installation

  1. Clone the repository:

    git clone https://github.com/TrainLCD/THQMe.git
    cd THQMe
  2. Install dependencies:

    npm install
  3. Start the development server:

    npx expo start

Running the App

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

πŸ—οΈ Architecture

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

Project Structure

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

πŸ› οΈ Development

Available Scripts

  • npm start - Start Expo development server
  • npm run android - Start with Android emulator
  • npm run ios - Start with iOS simulator
  • npm run web - Start web version
  • npm run lint - Run ESLint
  • npm run reset-project - Reset to blank project template

Configuration

The app can be configured to connect to different THQ server instances by modifying the WebSocket endpoint settings.

πŸ”— Related Projects

  • THQ - Main telemetry headquarters application
  • TrainLCD Mobile App - The new sense mobile navigation app
  • StationAPI - gRPC-Web API for nearby Japanese train stations

🀝 Contributing

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:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Run linting (npm run lint)
  5. Test on multiple platforms
  6. Commit your changes (git commit -m 'Add amazing feature')
  7. Push to the branch (git push origin feature/amazing-feature)
  8. Open a Pull Request

πŸ“ License

This project is part of the TrainLCD ecosystem. Please see the LICENSE file for details.

πŸ“ž Support

For questions and support:

🌟 Learn More

To learn more about the technologies used in this project:

About

πŸ›°οΈ Telemetry HQ Mobile Edition

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages