|
|
|
# react-native-template
|
|
|
|
|
|
|
|
### Versions
|
|
|
|
- React native version **0.69.2**
|
|
|
|
- React version **18.0.0**
|
|
|
|
|
|
|
|
## Purpose
|
|
|
|
This repo contains a react native template that:
|
|
|
|
- Instantiates a basic redux store with two reducers
|
|
|
|
- Declares a basic action creator
|
|
|
|
- Configures a stack navigator with several components
|
|
|
|
- Configures an encrypted realm database and exposes it with a singleton API
|
|
|
|
- Has complete coverage from unit testing
|
|
|
|
|
|
|
|
## Dependencies
|
|
|
|
- Node version 18
|
|
|
|
|
|
|
|
## Running the app
|
|
|
|
- Clone the repo
|
|
|
|
- Navigate to the directory in a cli with node accessible
|
|
|
|
- Run the command **npm install**
|
|
|
|
- Wait for the installation to complete
|
|
|
|
- Start an Android or iOS simulator (or connect a device with USB debugging configured)
|
|
|
|
- In the cli, pass the command **npm run android** or **npm run ios**
|
|
|
|
- Wait for the build to complete and install on the device
|
|
|
|
|
|
|
|
## Coding Conventions
|
|
|
|
- Lower-case single-word folder names
|
|
|
|
- Upper-case single-word file names
|
|
|
|
- Upper-case exports IF export is an object or reference
|
|
|
|
- Lower-case exports IF export is a function
|
|
|
|
|
|
|
|
## Testing Scripts
|
|
|
|
- "npm run **test**": run all tests with minimal console output
|
|
|
|
- "npm run **testVerbose**": run all tests with all console output
|
|
|
|
- "npm run **testCoverage**": produce coverage report for all project code
|
|
|
|
- "npm run **testActionCreators**": only test action creators
|
|
|
|
- "npm run **testApp**": only test app screens and components
|
|
|
|
- "npm run **testMigrations**": only test database migrations
|
|
|
|
- "npm run **testRepos**": only test database repositories
|
|
|
|
- "npm run **testDB**": only test database setup and API calls
|
|
|
|
- "npm run **testNav**": only test navigation
|
|
|
|
- "npm run **testThemes**": only test app theming and styles setup
|
|
|
|
- "npm run **testServices**": only test app services
|