Git Product home page Git Product logo

blackpink's Introduction

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.

blackpink's People

Contributors

duannm avatar mrgru avatar semantic-release-bot avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

duannm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.