/reactnative-enterprise

๐Ÿš€ High-performance, Enterprise Grade, maintainable React Native boilerplate with tons of features! ๐Ÿ“ฑ๐Ÿ’ช๐Ÿ˜Ž Accelerate your app development! ๐Ÿ”ฅ๐Ÿš€

Primary LanguageJavaScript

๐Ÿšง Work In Progress

This project is highly inspired by next-enterprise. But for Expo/React-Native.

๐Ÿ“š Features (TODO)

  • Expo - Built with Expo for cross-platform support
  • ๐ŸŽฏ Absolute imports - For better imports and code organization
  • ๐Ÿ“ Conventional commits git hook - For enforcing conventional commits
  • ๐Ÿค– Renovate BOT - For keeping dependencies up to date
  • ๐Ÿ› ๏ธ Extremely strict TypeScript - With ts-reset library for ultimate type safety
  • ๐Ÿฉน Patch-package - For patching dependencies
  • ๐Ÿ’ป T3 Env - For environment variables management
  • ๐Ÿ“Š Bundle analyzer plugin - For analyzing bundle size
  • ๐Ÿงช Jest and React Testing Library - For testing components and features
  • ๐Ÿ“• Storybook - For isolating and testing UI components
  • ๐Ÿ“ˆ Components coupling and cohesion graph - For analyzing components relations
  • ๐Ÿš€ GitHub Actions - For CI/CD automation
  • ๐Ÿค–๐Ÿง  Automated ChatGPT Code Reviews - For improving code quality and AI assistance code reviews
  • ๐Ÿšข Semantic Release - For automated versioning and CHANGELOG generation
  • ๐Ÿ—„๏ธ Auto Sort Imports - Automatic organizing of imports on file saves.

๐Ÿšฆ Roadmap (Updated as implemented)

Expo

Project Initiated with

npx create-expo-app --template

Absolute Imports

Clean code and code writing easier. Preconfigured by default.

Conventional Commits

Configured with git-conventioanl-commits to automatically validate commit messages following the conventional-commits standard.

TS-Reset | Extremely Strict Typescript

TypeScript's default type declarations may have imperfections, but ts-reset enhances them.

Automated ChatGPT Code Reviews

Configured with chatgpt-codereview action workflow.

Patch Package

Configured with patch-package to patch dependencies as needed. For eg: npx patch-package package-name

Bundle Analyzer

Configured with react-native-bundle-analyzer
Run npm run analzye:bundle which generates bundle map and show you what's inside of your react-native bundle

Coupling Graph

Configured with skott
Run npm run coupling-graph to get graph of your components and how they are coupled. This helps identify components that are too tightly coupled and should be refactored.

Auto Sort Imports

Automatically organize imports on file saves. Be sure to enable on your user settings for better experience.

"editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
},

Renovate Bot

Configured with renovate-bot to keep dependencies up to date.

T3 Env

Configured with t3-oss/env-core. Typesafe environment variables management integrated along with zod.

Storybook

Configured with storybook-react-native to isolate and test UI components. Configured with global decorators and easy to write storybook under each components.