Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/eas-build/action.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 🔗 Links:
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/actions/eas-build/action.yml
# Source file: https://github.com/rootstrap/react-native-template/blob/master/.github/actions/eas-build/action.yml
# EAS Build docs: https://docs.expo.dev/eas-update/github-actions/

# ✍️ Description:
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/setup-jdk-generate-apk/action.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 🔗 Links:
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/actions/setup-jdk-generate-apk/action.yml
# Source file: https://github.com/rootstrap/react-native-template/blob/master/.github/actions/setup-jdk-generate-apk/action.yml
# Composite actions docs: https://docs.github.com/en/actions/creating-actions/creating-a-composite-action

# ✍️ Description:
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/setup-node-pnpm-install/action.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 🔗 Links:
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/actions/setup-node-pnpm-install/action.yml
# Source file: https://github.com/rootstrap/react-native-template/blob/master/.github/actions/setup-node-pnpm-install/action.yml
# Composite actions docs: https://docs.github.com/en/actions/creating-actions/creating-a-composite-action

# ✍️ Description:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/compress-images.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 🔗 Links:
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/workflows/compress-images.yml
# Source file: https://github.com/rootstrap/react-native-template/blob/master/.github/workflows/compress-images.yml

# ✍️ Description:
# This workflow is used to compress images in the repo.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/e2e-android-eas-build.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 🔗 Links:
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/workflows/e2e-android-eas-build.yml
# Source file: https://github.com/rootstrap/react-native-template/blob/master/.github/workflows/e2e-android-eas-build.yml
# End-to-end testing: https://starter.obytes.com/testing/end-to-end-testing/

# ✍️ Description:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/e2e-android-maestro.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 🔗 Links:
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/workflows/e2e-android.yml
# Source file: https://github.com/rootstrap/react-native-template/blob/master/.github/workflows/e2e-android.yml
# End-to-end testing: https://starter.obytes.com/testing/end-to-end-testing/

# ✍️ Description:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/e2e-android.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 🔗 Links:
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/workflows/e2e-android.yml
# Source file: https://github.com/rootstrap/react-native-template/blob/master/.github/workflows/e2e-android.yml
# End-to-end testing: https://starter.obytes.com/testing/end-to-end-testing/

# ✍️ Description:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/eas-build-prod.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 🔗 Links:
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/workflows/eas-build-prod.yml
# Source file: https://github.com/rootstrap/react-native-template/blob/master/.github/workflows/eas-build-prod.yml
# Starter releasing process: https://starter.obytes.com/ci-cd/app-releasing-process/

# ✍️ Description:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/eas-build-qa.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 🔗 Links:
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/workflows/eas-build-qa.yml
# Source file: https://github.com/rootstrap/react-native-template/blob/master/.github/workflows/eas-build-qa.yml
# Starter releasing process: https://starter.obytes.com/ci-cd/app-releasing-process/

# ✍️ Description:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/expo-doctor.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 🔗 Links:
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/workflows/expo-doctor.yml
# Source file: https://github.com/rootstrap/react-native-template/blob/master/.github/workflows/expo-doctor.yml

# ✍️ Description:
# This workflow runs the expo doctor command to check if your project dependencies are aligned with the expo sdk version you are using.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint-ts.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 🔗 Links:
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/workflows/lint-ts.yml
# Source file: https://github.com/rootstrap/react-native-template/blob/master/.github/workflows/lint-ts.yml

# ✍️ Description:
# This action is used to run eslint checks
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/new-github-release.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 🔗 Links:
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/workflows/new-github-release.yml
# Source file: https://github.com/rootstrap/react-native-template/blob/master/.github/workflows/new-github-release.yml
# Starter releasing process: https://starter.obytes.com/ci-cd/app-releasing-process/

# ✍️ Description:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/new-template-version.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 🔗 Links:
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/workflows/lint-ts.yml
# Source file: https://github.com/rootstrap/react-native-template/blob/master/.github/workflows/lint-ts.yml
# Starter releasing process: https://starter.obytes.com/ci-cd/app-releasing-process/

# ✍️ Description:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 🔗 Links:
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/workflows/test.yml
# Source file: https://github.com/rootstrap/react-native-template/blob/master/.github/workflows/test.yml

# ✍️ Description:
# This action is used to run unit tests
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/type-check.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 🔗 Links:
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/workflows/type-check.yml
# Source file: https://github.com/rootstrap/react-native-template/blob/master/.github/workflows/type-check.yml

# ✍️ Description:
# This action is used to run the type-check on the project.
Expand Down
6 changes: 3 additions & 3 deletions README-project.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<h1 align="center">
<img alt="logo" src="./assets/icon.png" width="124px" style="border-radius:10px"/><br/>
<img alt="logo" src="./assets/RootstrapIcon.jpg" width="124px" style="border-radius:10px"/><br/>
Mobile App </h1>

> This Project is based on [Obytes starter](https://starter.obytes.com)
> This Project is based on [Rootstrap React Native Template](https://github.com/rootstrap/react-native-template)

## Requirements

- [React Native dev environment ](https://reactnative.dev/docs/environment-setup)
- [React Native dev environment](https://reactnative.dev/docs/environment-setup)
- [Node.js LTS release](https://nodejs.org/en/)
- [Git](https://git-scm.com/)
- [Watchman](https://facebook.github.io/watchman/docs/install#buildinstall), required only for macOS or Linux users
Expand Down
71 changes: 10 additions & 61 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<p align="center">
<img alt="Rootstrap's React Native Template" src="https://github.com/obytes/react-native-template-obytes/assets/11137944/a8163d23-897a-4efe-91ce-b9bf7348c18f" width="200" />
<img alt="Rootstrap's React Native Template" src="https://github.com/user-attachments/assets/2015cb3f-64ab-4ccd-b85f-ca77f73686eb" width="200" />
</p>

<h1 align="center">
Expand All @@ -8,41 +8,25 @@

![expo](https://img.shields.io/github/package-json/dependency-version/rootstrap/react-native-template/expo?label=expo) ![react-native](https://img.shields.io/github/package-json/dependency-version/rootstrap/react-native-template/react-native?label=react-native) ![GitHub Repo stars](https://img.shields.io/github/stars/rootstrap/react-native-template) ![GitHub commit activity (branch)](https://img.shields.io/github/commit-activity/m/rootstrap/react-native-template) ![GitHub issues](https://img.shields.io/github/issues/rootstrap/react-native-template) ![GitHub closed issues](https://img.shields.io/github/issues-closed-raw/rootstrap/react-native-template)

📱 A template for your next React Native project 🚀, Made with developer experience and performance first: Expo, TypeScript, TailwindCSS, Husky, Lint-Staged, expo-router, react-query, react-hook-form, I18n.
📱 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.

Based on [Obytes Starter](https://github.com/obytes/react-native-template-obytes).
This repository is a fork of [Obytes Starter](https://github.com/obytes/react-native-template-obytes), 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 Obytes Mobile Tribe, we have spent years refining our approach to building high-quality React Native applications. Our starter kit is based on the best practices and tools that we have found to be most effective in our projects.
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.

This starter kit has been thoroughly tested and proven successful in multiple projects over the past four years. It is regularly used by our team on a daily basis and has helped us deliver great results for our clients.
To maintain our commitment to delivering top-quality products efficiently, we chose to explore and research existing templates maintained by a larger community.

While our starter kit is heavily influenced by our own opinions and experiences, we have carefully selected the included solutions to address common challenges and meet the needs of the majority of use cases. We believe it offers a streamlined and efficient approach to building React Native apps, and we are confident that it can help others achieve their project goals as well.
Our objective with this template is to streamline the development process, enabling us to build high-quality apps more efficiently and with less overhead.

## 🚀 Motivation

Our goal with this starter kit was to streamline the process of building React Native apps, both for our team and for our clients. We wanted to create a resource that would allow us to create high-quality apps faster and with less effort; while ensuring that all of our projects adhere to the same code standards and architectural principles.

The benefits of using this starter kit are numerous. It helps our team easily switch between projects, as we can rely on a consistent foundation of code. It also allows us to focus on the business logic of each project rather than getting bogged down in boilerplate code. And, because it promotes consistency across projects, it makes it easier to maintain and scale our apps, as well as share code between teams.

Overall, our starter kit is designed to facilitate efficient and effective app development, helping us to bring the best possible products to our clients

## ✍️ Philosophy

When creating this starter kit, we had several guiding principles in mind::

- **🚀 Production-ready**: We wanted to ensure that this starter was ready for real-world use, providing a solid foundation for building production-grade apps.
- **🥷 Developer experience and productivity**: Our focus was on creating a starter that would enhance the developer experience and increase productivity.
- **🧩 Minimal code and dependencies**: We aimed to keep the codebase and dependencies as small as possible.
- **💪 Well-maintained third-party libraries**: We included only well-maintained and reliable third-party libraries, to provide stability and support for our projects.
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

- ✅ The latest version of Expo SDK, along with the Custom Dev client: you can leverage the best of the Expo ecosystem and maintain full control over your app.
- 🎉 [TypeScript](https://www.typescriptlang.org/) for type checking, to help you catch bugs and improve code quality.
- 💅 A minimal UI kit built with [NativeWind](https://www.nativewind.dev/), which provides a range of pre-defined classes for styling your app.
- ⚙️ Support for multiple environment builds, including Production, Staging, and Development, using Expo configuration.
- ⚙️ 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.
Expand All @@ -55,7 +39,7 @@ When creating this starter kit, we had several guiding principles in mind::
- 🎯 Localization with [i18next](https://www.i18next.com/), along with Eslint for validation.
- Unit testing with [Jest](https://jestjs.io/) and [React Testing Library](https://testing-library.com/docs/react-testing-library/intro/) setup to help you write tests for your app.

## ✍️ Documentation
## ✍️ Documentation 🚧 UNDER CONSTRUCTION 🚧

- [Create new project ](https://rootstrap.github.io/react-native-template/getting-started/create-new-app/)
- [Rules and Conventions](https://rootstrap.github.io/react-native-template/getting-started/rules-and-conventions/)
Expand All @@ -67,24 +51,6 @@ When creating this starter kit, we had several guiding principles in mind::
- [Data fetching](https://rootstrap.github.io/react-native-template/guides/data-fetching/)
- [Contribute to starter](https://rootstrap.github.io/react-native-template/how-to-contribute/)

## 😉 Why Expo?

Expo is a powerful tool for building React Native apps, offering a range of features and benefits that can help developers create high-quality apps more efficiently. One question we often receive from the community is why we choose to use Expo instead of the React Native CLI.

In the past, our team used the React Native CLI for our starter kit. However, we found that using Expo presented several advantages. In particular, the introduction of the Custom dev client feature allowed us to take advantage of the Expo ecosystem and utilize native libraries without the need for ejecting the app. This has greatly simplified our development process and enabled us to focus on the business logic of our projects.

Additionally, we have found that using Expo has made it easier to upgrade our apps to new versions, eliminating the issues we previously encountered when using the React Native CLI.

Overall, we believe that Expo offers numerous benefits for building React Native apps and is a valuable tool for any developer. The real question may be, **why not use Expo?**

## 🤔 Is this starter for you?

If you are planning to build a React Native app and are looking for a strong foundation, well-designed architecture, and a positive developer experience, then this starter kit is an excellent resource to consider. It offers a comprehensive set of best practices and tools that have been tested and proven effective in multiple projects.

Even if you are not sure that using a starter kit is the right choice for your project, you can still benefit from this resource. You can explore the starter kit and draw inspiration from the solutions it provides for common challenges faced by React Native developers. This can be a helpful way to discover good practices and find effective solutions for your own app development process.

Overall, whether you choose to use this starter kit as is or simply take some ideas from it, we believe it offers valuable insights and resources for anyone looking to build a high-quality React Native app.

## 🧑‍💻 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.
Expand Down Expand Up @@ -130,24 +96,7 @@ Check this [file](https://github.com/rootstrap/rs-gpt-review/blob/main/.github/w

## Contributors

This starter is maintained by [Obytes mobile tribe team](https://www.obytes.com/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.

In addition to maintaining this starter kit, we are also available to work on custom projects and help you build your dream app. If you are looking for experienced and reliable developers to bring your app vision to life, please visit our website at [obytes.com/contact](https://www.obytes.com/contact) to get in touch with us. We would be happy to discuss your project in more detail and explore how we can help you achieve your goals.

## 🔥 How to contribute?

Thank you for your interest in contributing to our project. Your involvement is greatly appreciated and we welcome your contributions. Here are some ways you can help us improve this project:

1. Show your support for the project by giving it a 🌟 on Github. This helps us increase visibility and attract more contributors.
2. Share your thoughts and ideas with us by opening an issue. If you have any suggestions or feedback about any aspect of the project, we are always eager to hear from you and have a discussion.
3. If you have any questions about the project, please don't hesitate to ask. Simply open an issue and our team will do our best to provide a helpful and informative response.
4. If you encounter a bug or typo while using the starter kit or reading the documentation, we would be grateful if you could bring it to our attention. You can open an issue to report the issue, or even better, submit a pull request with a fix.

We value the input and contributions of our community and look forward to working with you to improve this project.

## ❓ FAQ

If you have any questions about the starter and want answers, please check out the [Discussions](https://github.com/obytes/react-native-template-obytes/discussions) page.
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

Expand Down
Binary file added assets/RootstrapIcon.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@
},
"repository": {
"type": "git",
"url": "git+https://github.com/obytes/react-native-template-obytes.git"
"url": "git+https://github.com/rootstrap/react-native-template.git"
},
"packageManager": "pnpm@9.8.0"
}
2 changes: 1 addition & 1 deletion src/app/onboarding.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export default function Onboarding() {
</View>
<View className="justify-end ">
<Text className="my-3 text-center text-5xl font-bold">
Obytes Starter
React Native Template
</Text>
<Text className="mb-2 text-center text-lg text-gray-600">
The right way to build your mobile app
Expand Down
2 changes: 1 addition & 1 deletion src/translations/ar.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"onboarding": {
"message": "مرحبا بكم في موقع تطبيق obytes"
"message": "مرحبا بكم في موقع تطبيق rootstrap"
},
"settings": {
"about": "حول التطبيق ",
Expand Down
4 changes: 2 additions & 2 deletions src/translations/en.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"onboarding": {
"message": "Welcome to obytes app site"
"message": "Welcome to rootstrap app site"
},
"settings": {
"about": "About",
Expand Down Expand Up @@ -29,5 +29,5 @@
"version": "Version",
"website": "Website"
},
"welcome": "Welcome to obytes app site"
"welcome": "Welcome to rootstrap app site"
}