Skip to content

bebstein-pass/pass-culture-app-native

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Quality Gate Status Coverage

Current tests Testing Environement Staging Environement

Tag

This project has been generated by react-native-make.

Getting Started

To be able to install and run the mobile apps (iOS and Android) and web app, you first need to :

  • Install nix package manager

  • Install DirEnv

  • 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 .nvmrc at the root of the pass-culture-app-native repo to find the version you should use.

📱 Mobile

To run the mobile app on Android or iOS, you will need to follow the installation steps:

💻 Web

To run the web app on your browser, follow the steps here

💄 Storybook

Access to the storybook.

To run the storybook on your browser, follow the steps here

Development

Debugging

We use Flipper to debug the network logs, react-query usage, layout, perfs... More info here.

Standards

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.

  1. Create a pull request with the standard modification/addition (use TEMPLATE.md for addition)
  2. 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

  1. Make sure you got the approval of every member of the team
  2. You can merge :)

Testing

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

Local development

📝 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_PUBLIC_KEY_ANDROID and BATCH_API_PUBLIC_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.

⬇️ Download

To download the testing app, visit Appcenter for iOS and Android. For the staging app, use these links for iOS and Android.

⚠️ Make sure your device is registered in the device list.


Deployment

See doc about deployment process here for the mobile application.

About

Mobile and web application for pass Culture

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 97.4%
  • JavaScript 1.6%
  • Shell 0.4%
  • HTML 0.3%
  • Java 0.1%
  • Mustache 0.1%
  • Other 0.1%