Skip to content

πŸ“± A template for your next React Native project: Expo, PNPM, TypeScript, TailwindCSS, Husky, EAS, GitHub Actions, Env Vars, expo-router, react-query, react-hook-form.

License

Notifications You must be signed in to change notification settings

rootstrap/react-native-template

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Rootstrap's React Native Template

Rootstrap's React Native Template

expo react-native GitHub Repo stars GitHub commit activity (branch) GitHub issues GitHub closed issues

πŸ“± 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.

Overview

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.

⭐ Key Features

  • πŸŽ‰ 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.

✍️ Documentation 🚧 UNDER CONSTRUCTION 🚧

πŸ§‘β€πŸ’» Stay up to date

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.

Add RS GPT Review Bot

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.

Notes:

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.

πŸ’Ž Libraries used

Contributors

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.

πŸ”– License

This project is MIT licensed.

About

πŸ“± A template for your next React Native project: Expo, PNPM, TypeScript, TailwindCSS, Husky, EAS, GitHub Actions, Env Vars, expo-router, react-query, react-hook-form.

Resources

License

Stars

Watchers

Forks

Languages

  • TypeScript 81.5%
  • JavaScript 18.1%
  • Other 0.4%