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
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.
- Clone the Repository
git clone https://github.com/steelhawks/ScoutApp-React-Native-2023.git cd ScoutApp-React-Native-2023
- Install dependencies
npm install
- Run the app
# For iOS (Only on Mac) npx expo run:ios # For Android npx expo run:android
Please read everything before pushing any code
- 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.
- Inline Comments: Add comments to explain complex logic and decisions.
- Update README: Keep this README updated with any significant changes to this project.
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.
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.
If you can't get this to work, see the Troubleshooting page. Additionally for Expo click here.
To learn more about React Native, take a look at the following resources:
- React Native Website - learn more about React Native.
- Getting Started - an overview of React Native and how setup your environment.
- Learn the Basics - a guided tour of the React Native basics.
- Blog - read the latest official React Native Blog posts.
@facebook/react-native
- the Open Source; GitHub repository for React Native.