This project has been generated by react-native-make.
To be able to install and run the mobile apps (iOS and Android) and web app, you first need to :
-
Install
node
-
Install
yarn
-
Configure Sentry through this tutorial
-
Run
yarn install
to install all the dependencies -
If you have EACCESS issues with your Node installation (when trying to enable corepack for example during yarn installation), consider installing Homebrew to install NVM via Homebrew. Homebrew will be useful for installing Git as well.
-
When choosing the version of node via nvm, check the file .node-version at the root of the pass-culture-app-native repo to find the version you should use.
To run the mobile app on Android or iOS, you will need to follow the installation steps:
To run the web app on your browser, follow the steps here
Access to the storybook.
To run the storybook on your browser, follow the steps here
We use Flipper to debug the network logs, react-query
usage, layout, perfs... More info here.
In the doc/
folder you will find the dev standards
the team members follow:
To add a dev standard
Standards can of course be improved and new ones can be added.
- Create a pull request with the standard modification/addition (use
TEMPLATE.md
for addition) - Ask all team members to read your PR
Why: so that the team is aligned on how to code, and the best way to do something is shared within all members
- Make sure you got the approval of every member of the team
- You can merge :)
You can run the tests with yarn test
. This command will:
- Run
eslint
on your project - Check the typescript types
- Run the
jest
tests
You can run the jest tests in watch mode with:
yarn jest --watch
You can also get the coverage with:
yarn jest --coverage
📝 Update the API schema
If the backend changes the api schema, you will need to update it:- pull the
swagger-codegen-cli-v3
image:docker pull swaggerapi/swagger-codegen-cli-v3
- run:
yarn generate:api:client
- or run
yarn generate:api:client:silicon
on Apple Silicon chips
If the file src/api/gen/.swagger-codegen/VERSION
changes, make sure you locally have the desired version of swagger-codegen-cli
, otherwise run docker pull swaggerapi/swagger-codegen-cli-v3:3.0.24
To develop with a local API
See the docs to learn how to develop with a local API "superficially".
The other option, more complex, is to create a specific scheme 'Development' with a .env.development
file :
copy the .env.testing
configuration and update the API_BASE_URL
setting with you local server address.
Make sure you also overload the BATCH_API_KEY_ANDROID
and BATCH_API_KEY_IOS
variables with the dev values of the testing batch project.
Then copy testing.keystore
into development.keystore
and testing.keystore.properties
into development.keystore.properties
. Replace the storeFile
value in development.keystore.properties
.
Test login credentials
See in 1password for all testing accounts.
To download the testing app, visit Appcenter for iOS and Android. For the staging app, use these links for iOS and Android.
See doc about deployment process here for the mobile application.