Skip to content

MrGru/blackpink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI Android CI iOS

Boilerplate:

1. Feature

  • React native navigation => Change to React navigation
  • Mobx => Change to Recoil
  • i18next
  • axios
  • theme
  • config multi-environment: development, staging, production

CI: -> Static test:

  • husky
  • eslint
  • prettier
  • commmitlint

-> Dynamic test:

  • jest
  • detox

Development: env.development Staging: env.staging Release/Production: env.production

  • semantic-release
    • export GH_TOKEN=
    • run: npm run release

Example commit message type:

type(scope?): subject  #scope is optional; multiple scopes are supported (current delimiter options: "/", "\" and ",")

- build
- ci
- chore
- docs
- feat
- fix
- perf
- refactor
- revert
- style
- test

Example:
chore: run tests on travis ci
fix(server): send cors headers
feat(blog): add comment section

Mobile development process

1. Init project

Input Requirement:

  • Package name/ Bundle ID
  • Project name
  • App name
  • Icon

Check requirement with:

  • Using map: (google/mapbox)
  • Using chart: (MPchart, SVG)
  • Using notification: Setup firebase and config app information
  • Update online, update rule: code push
  • Using analytics/crash report: google
  • IAP
  • Deeplink for mobile.
  • Other specific features.

2. Setup environment

Preparation:

Code Signing: https://www.designveloper.com/blog/ios-android-code-signing/

Git flow:

  • Local / Dev (for testing) -> branch: develop
  • STG (for customer) -> branch: stg
  • Production (for end-user) -> branch: master
  • Production with feature: -> branch: version

Config build for environment:

Setup CI/CD:

- CI:

Requirement:

  • Setup static check library: eslint with rule, prettier.
  • Validate testID property for testing component in react native.
- CD:
  • Android:
    • Build with gradle
    • Upload to google play with tracks (internal testing, alpha testing, beta testing).
  • IOS:
    • Build with fastlane.
    • Upload to testflight.

3. Develop feature

  • Rule when develop
  • Structure project
  • Best practice with new JS feature:
    • Clean
    • Performance
    • Readable code
    • Sharing code in team (code of conduct).

4. Publish App

  • Security
  • Policy of store:
  • Android
  • IOS
  • Requirement:
  • Description
  • Short description
  • Screenshot
  • Feature image
  • Category
  • Rating content

5. Monitor, Operation, Maintain App.