Giter Club home page Giter Club logo

crathod1220 / react-native-template-obytes Goto Github PK

View Code? Open in Web Editor NEW

This project forked from obytes/react-native-template-obytes

0.0 0.0 0.0 11.56 MB

๐Ÿ“ฑ A template for your next React Native project ๐Ÿš€, Made with developer experience and performance first: Expo,TypeScript,TailwindCSS, Husky, Lint-Staged, react-navigation, react-query, react-hook-form.

Home Page: https://starter.obytes.com

License: MIT License

Shell 1.28% JavaScript 10.46% Ruby 1.88% C++ 5.59% Objective-C 0.31% Java 13.93% TypeScript 58.45% Objective-C++ 5.26% Swift 0.09% Makefile 1.21% Starlark 1.55%

react-native-template-obytes's Introduction

React Native Template Obytes

React Native Template Obytes

๐Ÿ“ฑ A template for your next React Native project ๐Ÿš€, Made with developer experience and performance first: Expo,TypeScript,tailwindcss, Husky, Lint-Staged, react-navigation, react-query, react-hook-form, I18n.

๐Ÿ˜Ž Overview

This starter is based on obytes mobile tribe best practices for building react native apps and used on a daily based by our team. The starter is battle tested with multiple projects we worked on over the past four years.

Although the starter is very opinionated, we believe that we did our best to select the best solutions for the majority of the challenges we ran into while developing mobile apps for our clients.

๐Ÿš€ Motivation

The idea behind the starter is that we wanted to create a starter that will help us create react native apps faster and with less effort. we want to make sure all our internal and external projects will have the same code quality and the same architecture which help us maintain and scale our apps easily as well as sharing code between projects and teams.

Using this starter help our team to switch projects easily and focus on the business logic and not on the boilerplate code.

โœ๏ธ Philosophy

We built this starter with the following principles in mind:

  • ๐Ÿš€ Production-ready
  • ๐Ÿฅท Developer experience + Productivity
  • ๐Ÿงฉ Minimal code and dependencies
  • ๐Ÿ’ช well maintained third-party libraries

โญ key Features

  • โœ… Last Expo SDK + Custom Dev client
  • ๐ŸŽ‰ Type checking TypeScript
  • ๐Ÿ’… Minimal UI kit using tailwindcss with theming.
  • โš™๏ธ Support multiple environnement builds [Production, Staging, Development] using Expo configuration.
  • ๐ŸฆŠ Husky for Git Hooks
  • ๐Ÿ’ก Clean project structure with Absolute Imports
  • ๐Ÿšซ Lint-staged for running linters + typescript checking on Git staged files
  • ๐Ÿ—‚ VSCode recommended extensions configuration, settings and snippets for a better developer experience
  • โ˜‚๏ธ React Navigation pre-installed with examples
  • ๐Ÿ’ซ Auth flow with zustand and react-native-mmkv as a storage to save sensitive data.
  • ๐Ÿ›  A simple workflow to build, release and distribute your application using Github action
  • ๐Ÿ”ฅ React Query & axios to fetch Data
  • ๐Ÿงต A good approach with example to handle forms based on react-hook-form and zod for validation
  • ๐ŸŽฏ Localization with i18next + validation using Eslint.

โœ๏ธ Documentation

๐Ÿ˜‰ Why Expo?

Expo is a great tool to build react native apps, it helps you to build your app faster and with less effort. One of the most famous questions we get from the community is why we use Expo and not React Native ClI?

In the first version of the starter we used React Native CLI as back then using Expo is not the best option as we are using some native libraries and we will need to eject the app anyway. Last year Expo team introduce using Custom dev client which allow you to use Expo without ejecting the app and use native libraries.

The starter is using Expo with a Custom dev client which means we will get access to the amazing Expo ecosystem and install native libraries without ejecting the app.

Last and not least, with older version of the starter we face a lot of issues while upgrading our apps to the last version but now with Expo we can upgrade our apps easily.

Probably the right question is Why not Expo?

๐Ÿค” Is this starter for you?

The short answer is yes, if you are building a react native app and you want to start with a solid foundation ,good architecture and a good developer experience then this starter is for you.

If you don't think using a starter is a good idea you can just take a look and get some inspiration for your project to find some good practices and solutions for common challenges react native developers are facing while building apps.

๐Ÿง‘โ€๐Ÿ’ป Stay up to date

The starter is constantly improving and we are adding new features and fixing bugs as soon as we can. You can stay up to date by watching the repository or by hitting the start button.

๐Ÿ’Ž Libraries used

๐Ÿฅท Contributors

This starter is maintained by Obytes mobile tribe team and we are happy to welcome new contributors to the project.

We are also open to work on your project and help you build your app. You can contact us on obytes.com/contact.

๐Ÿ”ฅ How to contribute ?

First of all, thank you for your interest in contributing to this project. We are happy to have you here and here is how you can help us improve this project:

  1. Give the project a ๐ŸŒŸ on Github if you like it. This will help us to get more visibility and attract more contributors.

  2. If you have any suggestions or feedback about any approach we are using in this project, feel free to open an issue and let us know. we will be happy to hear from you and discuss it with you ASAP.

  3. If you have any questions about the project, feel free to open an issue and our team will do their best to answer your questions.

  4. If you found a bug while using the starter or a typo in the documentation, feel free to open an issue or even better, open a pull request with the fix.

๐Ÿ”– License

This project is MIT licensed.

react-native-template-obytes's People

Contributors

yjose avatar hamzamekk avatar remotenode avatar 0x1337ak avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.