https://github.com/everton-dgn/boilerplate_react_native_expo
This project is a complete React Native boilerplate, constantly updated, configured in the smallest details to serve as the basis for large professional projects that intend to scale.
https://github.com/everton-dgn/boilerplate_react_native_expo
android app boilerplate eslint expo husky ios mobile prettier react react-native react-navigation test typescript
Last synced: 8 months ago
JSON representation
This project is a complete React Native boilerplate, constantly updated, configured in the smallest details to serve as the basis for large professional projects that intend to scale.
- Host: GitHub
- URL: https://github.com/everton-dgn/boilerplate_react_native_expo
- Owner: everton-dgn
- License: mit
- Created: 2023-12-17T07:38:42.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-30T21:32:35.000Z (over 2 years ago)
- Last Synced: 2025-05-08T23:09:36.133Z (about 1 year ago)
- Topics: android, app, boilerplate, eslint, expo, husky, ios, mobile, prettier, react, react-native, react-navigation, test, typescript
- Language: TypeScript
- Homepage:
- Size: 829 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README



Boilerplate Complete and updated with React Native, Expo, Typescript, Tests and more
# :memo: About the Project
This application is a boilerplate for complex and large systems, especially those that need to scale with security and code quality.
We sought to achieve 3 pillars: readability, reusability, and refactorability.
In the construction of the UI, the Atomic Design structure was chosen, organizing the global components into atoms, molecules, organisms and templates.
In addition to being constantly updated, this project was configured in the smallest details to serve as a basis for professional projects that require standardized and easy-to-maintain code architecture and design.
---
# :pushpin: Contents
- [Technologies](#globe_with_meridians-technologies)
- [Features](#triangular_flag_on_post-features)
- [Prerequisites](#white_check_mark-prerequisites)
- [How to install and run the project](#question-how-to-install-and-run-the-project)
- [Clone Repository](#clone-repository)
- [Install Dependencies](#install-dependencies)
- [Start Development Environment](#start-development-environment)
- [Generate Production Build](#generate-production-build)
- [Start Production Environment](#start-production-environment)
- [Run Tests](#run-tests)
- [Run Tests in Watch Mode](#run-tests-in-watch-mode)
- [Run Lints](#run-lints)
- [Format code with prettier](#format-code-with-prettier)
- [Check for Available Updates for Dependencies](#check-for-available-updates-for-dependencies)
- [Important Considerations](#rotating_light-important-considerations)
- [Author](#technologist-author)
---
# :globe_with_meridians: Technologies
β React Native
π₯ TypeScript
π
StyleSheets
π© Lints: Husky, ESlint, Commitlint, Lint-Staged, Prettier and Typecheck
β
Vitest
π React Testing Library
---
# :triangular_flag_on_post: Features
- [x] Atomic Design;
- [x] 100% coverage;
---
# :white_check_mark: Prerequisites
- node (latest version lts).
- yarn (latest version lts).
---
# :question: How to install and run the project
## Clone Repository
```bash
git clone https://github.com/everton-dgn/boilerplate_react_native_expo.git
```
## Install Dependencies
```bash
yarn
```
## Start Development Environment
```bash
yarn dev
```
Available in http://localhost:3000
## Generate Production Build
```bash
yarn build
```
## Start Production Environment
```bash
yarn start
```
Available in http://localhost:3000
## Run Tests
```bash
yarn test
```
## Run Tests in Watch Mode
```bash
yarn test:w
```
Available in http://localhost:6006
## Run Lints
```bash
yarn lint
```
```bash
yarn typecheck
```
```bash
yarn check:format
```
## Format code with prettier
```bash
yarn format
```
## Check for Available Updates for Dependencies
```bash
yarn check:update
```
---
# :rotating_light: Important Considerations
- The husky is configured to not allow commit if there are any lint and typescript errors. The push can only be done if all tests and builds (of the project and the storybook) pass.
- Due to husky's build check settings, to push with git, the development server must be stopped first or an error will occur in the `git push` command.
---
# :technologist: Author
By [Γverton Toffanetto](https://programadordesucesso.com).
:link: LinkedIn: https://www.linkedin.com/in/everton-toffanetto
:link: YouTube: https://youtube.com/@toffanettodev