SkillAgentSearch skills...

BeeEnglish

Elevate your English proficiency with our sleek React Native app. šŸš€ Interactive lessons, real-life conversations, and a user-friendly experience. Perfect for beginners and advanced learners. Start your language journey now!

Install / Use

/learn @Youth-Tech/BeeEnglish
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Bee English

Preview: Youtube

Contents

  1. Technical
  2. Project Scaffolding
  3. Alias
  4. Core Component
  5. Custom Component
  6. šŸš€ Getting Started
  7. How to create new Service
  8. How to create new Flow
  9. How to use Lottie Animation

Technical

Project Scaffolding

src
ā”œā”€ā”€ @type                     #define commons type use in project
ā”œā”€ā”€ assets                    #contain file image, svg, animation config, ... in project
│
ā”œā”€ā”€ components
│   ā”œā”€ā”€ bases                 #define base component for project
│   ā”œā”€ā”€ commons               #define custom component for project
│   └── utils                 #define utils for component
│
ā”œā”€ā”€ hooks                     #define custom hook
ā”œā”€ā”€ navigation
│   ā”œā”€ā”€ index.ts              #export all method, variable, and components
│   ā”œā”€ā”€ routes.ts             #define all screen route in project
│   ā”œā”€ā”€ RootStack.tsx         #contain all stack in project
│   ā”œā”€ā”€ RootApp.tsx           #contain RootStack, loading modal, message modal
│   └── NavigationService.ts  #define 'navigationRef' and all method to interact with it
│
ā”œā”€ā”€ redux                     #define all end point for api
│   ā”œā”€ā”€ reducers              #define all reducer in project
│   ā”œā”€ā”€ store                 #define store for project with Redux Persist - MMKV storage
│   └── selectors             #define all selector in project
│
ā”œā”€ā”€ screens
│   ā”œā”€ā”€ HomeScreen
│   │   ā”œā”€ā”€ components        #define common component for screen
│   │   ā”œā”€ā”€ index.tsx         #define and export screen component
│   │   └── type.ts           #define common type for screen
│   ā”œā”€ā”€ ...
│   └── index.ts              #export all screen
│
ā”œā”€ā”€ services
│   ā”œā”€ā”€ PokemonService.ts     #define all method to connect api of service
│   ā”œā”€ā”€ ...
│   └── index.ts              #export all service
│
ā”œā”€ā”€ themes
│   ā”œā”€ā”€ baseStyles.ts         #define base style for style sheet create by method 'makeStyles'
│   ā”œā”€ā”€ colors.ts             #define color palette
│   ā”œā”€ā”€ font.ts               #define font, fontSize in project
│   ā”œā”€ā”€ normalize.ts          #define responsive method
│   ā”œā”€ā”€ style.ts              #define utils, type, hook for style of project theme
│   └── index.ts              #export all theme method and constants
│
ā”œā”€ā”€ utils
│   ā”œā”€ā”€ ...
│   └── helper.ts             #define helper function for project
│
└── App.tsx

Alias

  • @type: ./src/@type
  • @assets: ./src/assets
  • @components: ./src/components
  • @hooks: ./src/hooks
  • @navigation: ./src/navigation
  • @redux: ./src/redux
  • @screens: ./src/screens
  • @themes: ./src/themes
  • @utils: ./src/utils
  • @services: ./src/services
  • @i18n: ./src/i18n

Core Component

  • Container
  • Block
  • Text
  • TextInput
  • Image
  • StatusBar

Custom Component

  • Circle Progress

    • Props

      | Name | Type | Default value | Require | | --------------------------------------- | ---------------------- | ------------- | ------- | | step | number | | āœ… | | totalStep | number | | āœ… | | size | number | | āœ… | | strokeWidth | number | 10 | | | totalStepColor | string | orange | | | stepColor | string | greyLight | | | progressContainerStyles | StyleProp<ViewStyle> | {} | | | progressValueProps | CommonTextProps | undefined | | | onCompleteAnimation(isFinish?: boolean) | Function | ()=>{} | |

    • How to use

      <CircleProgress size={150} step={50} totalSteps={100} strokeWidth={10} />
      
  • Progress

    • Props

      | Name | Type | Default value | Require | | --------------------------------------- | ---------------------- | ------------- | ------- | | step | number | | āœ… | | totalStep | number | | āœ… | | strokeHeight | number | 10 | | | totalStepColor | string | orange | | | stepColor | string | greyLight | | | progressContainerStyles | StyleProp<ViewStyle> | {} | | | onCompleteAnimation(isFinish?: boolean) | Function | ()=>{} | |

    • How to use

      <Progress
        strokeHeight={10}
        step={80}
        totalSteps={100}
        progressContainerStyles={{
          paddingHorizontal: 10,
        }}
      />
      
  • LinearGradient

    • Props

      | Name | Type | Default value | Require | | -------------- | -------------------------------------- | ------------- | ------- | | colors | string[] | | āœ… | | containerStyle | StyleProp<ViewStyle> | {} | | | orientation | horizontal or vertical or number | vertical | | | revers | boolean | false | | | transform | Partial<TransformedProps> | {} | |

    • How to use

      <LinearGradient
        colors={['#FFEFAD', '#FFC107']}
        containerStyle={{ flex: 1 }}
        transform={{ rotation: 20 }}
      />
      
  • ShadowBlock

    • Props

      • Component is extended all props from Block component
      • External Props

      | Name | Type | Default value | Require | | -------------------------- | ----------------- | ------------- | ------- | | shadowHeight | number | 5 | | | shadowPosition | top or bottom | bottom | | | shadowLabel | string | undefined | | | shadowLabelTextStyle | CommonTextProps | undefined | | | shadowLabelContainerStyle | BlockProps | undefined | | | shadowBackgroundColor | string | #ccc | | | containerPaddingVertical | number | undefined | | | containerPaddingHorizontal | number | undefined | | | containerPaddingRight | number | undefined | | | containerPaddingLeft | number | undefined | | | containerPaddingTop | number | undefined | | | containerPaddingBottom | number | undefined | |

    • How to use

      <ShadowBlock
        row
        marginTop={20}
        space="between"
        paddingHorizontal={20}
        containerPaddingHorizontal={20}
      >
        <Block width={10} height={10} backgroundColor="red" />
        <Progress
          step={10}
          totalSteps={100}
          strokeHeight={10}
          progressContainerStyles={{
            flex: 1,
            marginStart: 10,
          }}
        />
      </ShadowBlock>
      
  • ShadowButton

    • Props

      • Component is extended all props from Pressable (native component from ReactNative) component
      • External Props

      | Name | Type | Default value | Require | | ----------------- | ----------------------- | ------------- | ------- | | buttonWidth | number or string | 5 | | | buttonHeight | number or string | #ccc | | | buttonBorderSize | number | undefined | | | buttonBorderColor | string or ReactNode | undefined | | | containerStyle | StyleProp<ViewStyle> | undefined | | | shadowHeight | number | 5 | | | buttonRadius | number | 5 | | | buttonColor | string | primary | | | disabled | boolean | undefined | | | shadowButtonColor | string | greyLight | |

    • How to use

      <ShadowButton
        buttonHeight={45}
        buttonBorderSize={2}
        buttonBorderColor={
          <Block style={StyleSh
      
View on GitHub
GitHub Stars6
CategoryEducation
Updated5mo ago
Forks0

Languages

TypeScript

Security Score

87/100

Audited on Nov 11, 2025

No findings