/ScoutApp-React-Native-2023

Scout app team 2023 summer project (making our scoutapp using react native)

Primary LanguageTypeScript

Steel Hawks: Scout 24 | HawkEye

Static Badge runs with Expo Go

Scout 24 is the Steel Hawks defacto scouting app, written in React Native for both iOS and Android. It relys on ReactNative-Server-Sync-2024 but has an offline mode for user authentication and actions on the app.

Features:

  • User authentication
  • Post match editing
  • Wireless and Offline Sync
  • Pit scouting and match scouting

Installation

Follow these steps to get the app running on your local machine:

This does not cover prerequisites such as Xcode or Android Studio. Please find another tutorial to help with that. Remember that for iOS development you NEED a Mac. If you can get Expo Go working you could have iOS working but for NATIVE support and for building, you NEED a Mac for iOS support.

  1. Clone the Repository
    git clone https://github.com/steelhawks/ScoutApp-React-Native-2023.git
    cd ScoutApp-React-Native-2023
  2. Install dependencies
    npm install
  3. Run the app
    # For iOS (Only on Mac)
    npx expo run:ios
    
    # For Android
    npx expo run:android

Maintaining

Please read everything before pushing any code

Code Quality

  • Consistent Code Style: Use a linter like ESLint and a formatter like Prettier to maintain consistent code style.
  • Type Safety: I recommend to continue using Typescript for static type casting and to catch silly errors.

Documentation

  • Inline Comments: Add comments to explain complex logic and decisions.
  • Update README: Keep this README updated with any significant changes to this project.

Pushing Code

Before pushing any code make sure the following is met

  • Any developmental changes should be pushed in the dev branch first.
  • Before making a pull request to the main branch for the APK to be built, make sure the release.info.json file is updated with the new release info.

GitHub Build Actions

There are multiple build actions but the most important one is the Build Android APK one. This is a very useful automation making Android APKs on each push to the main branch. Because of this, many experimental, developmental, or any other small changes should be pushed to the dev branch instead of the main branch. Once you are ready for a release create a pull request to main. In addition, before each pull request, make sure you change the data in the release-info.json, as that is what the GitHub automation reads from to name the release.

Troubleshooting

If you can't get this to work, see the Troubleshooting page. Additionally for Expo click here.

Learn More

To learn more about React Native, take a look at the following resources: