๐ฑ A template for your next React Native project ๐, Made with developer experience and performance first: Expo, TypeScript, NativeWind, Husky, Lint-Staged, expo-router, react-query, react-hook-form, I18n and preconfigured for EAS.
This repository is a fork of Obytes Starter, which provides a solid foundation. We periodically sync with the original repo to stay up-to-date with their improvements, while making our own adjustments and optimizations to streamline our setup process.
As a team of experienced developers at Rootstrap, we have spent years building high-quality React Native applications. Our initial starter kit was designed for React Native CLI apps. However, with the strong recommendation to work with Expo since React Native 0.75, we recognized the need to adapt quickly and leverage the best tools available.
To maintain our commitment to delivering top-quality products efficiently, we chose to explore and research existing templates maintained by a larger community.
Our objective with this template is to streamline the development process, enabling us to build high-quality apps more efficiently and with less overhead.
This template brings several key advantages. It provides our team with a consistent codebase and standards, making it easier to move between projects without a steep learning curve. This consistency allows us to focus more on the core functionality of each project instead of getting stuck on repetitive setup tasks. Furthermore, by promoting uniformity across our work, it simplifies maintenance, scaling, and collaboration across different teams.
- ๐ TypeScript for type checking, to help you catch bugs and improve code quality.
- ๐ A minimal UI kit built with NativeWind, which provides a range of pre-defined classes for styling your app.
- โ๏ธ Support for multiple environment builds, including Production, Staging, QA and Development, using Expo configuration.
- ๐ฆ Husky for Git Hooks, to automate your git hooks and enforce code standards.
- ๐ก A clean project structure with Absolute Imports, to make it easier to navigate and manage your code.
- ๐ซ Lint-staged for running ESLint and TypeScript checks on Git staged files, to ensure that your code is always up to standards.
- ๐ VSCode recommended extensions, settings, and snippets to enhance the developer experience.
- โ๏ธ Pre-installed Expo Router with examples, to provide a comprehensive navigation solution for your app.
- ๐ซ An auth flow with zustand and react-native-mmkv as a storage solution to save sensitive data.
- ๐ +10 workflows for building, releasing, testing and distributing your app using Github action.
- ๐ฅ React Query and axios for fetching data, to help you build efficient and performant apps.
- ๐งต A good approach for handling forms with react-hook-form and zod for validation + keyboard handling.
- ๐ฏ Localization with i18next, along with Eslint for validation.
- Unit testing with Jest and React Testing Library setup to help you write tests for your app.
- Create new project
- Rules and Conventions
- Project structure
- Environment vars and config
- UI and Theming
- Components
- Forms
- Data fetching
- Contribute to starter
We are committed to continually improving our starter kit and providing the best possible resources for building React Native apps. To that end, we regularly add new features and fix any bugs that are discovered.
If you want to stay up to date with the latest developments in our starter kit, you can either watch the repository or hit the "star" button. This will allow you to receive notifications whenever new updates are available.
We value the feedback and contributions of our users, and we encourage you to let us know if you have any suggestions for improving our starter kit. We are always looking for ways to make it even more effective and useful for our community. So, please do not hesitate to reach out and share your thoughts with us.
You can add a GPT Review Bot to your app by following these steps:
- You need to have an OpenAI API key.
- Save your OpenAI API key as a Secret in your repository.
- Create a new workflow in folder .github/workflows that will be triggered on issues, pull requests, and comments.
- You can see examples of workflows in the rs-gpt-review repository.
The bot will be triggered on issues, pull requests and comments, you can modify your PULL_REQUEST_TEMPLATE.md to tag the review bot and trigger the workflow every time a pull request is created.
Check this file for more examples.
- Expo
- Expo Router
- Nativewind
- Flash list
- React Query
- Axios
- React Hook Form
- i18next
- zustand
- React Native MMKV
- React Native Gesture Handler
- React Native Reanimated
- React Native Svg
- React Error Boundaries
- Expo Image
This starter is maintained by Rootstrap React Native team and we welcome new contributors to join us in improving it. If you are interested in getting involved in the project, please don't hesitate to open an issue or submit a pull request.
This project is MIT licensed.