@binarapps/baca-react-native-template
v2.5.0
Published
Expo template ready to develop mobile apps
Downloads
9
Maintainers
Readme
BACA - react-native-template
BACA - BINAR APPS CORE APPLICATION
This repository is part of whole ecosystem, and it only contains React Native code
🎉 Great React Native boilerplate
This is a template to be used with react native and expo. It includes all the necessary stuff to start working with expo framework. It has the most popular packages included, so it's easier to start coding the app itself without all the necessary boilerplate setup.
📖 Documentation
Check out our documentation page, it contains:
- Bootstrapping project
- tutorial how to easy setup from scratch
- Building app
- Deploying app
- Tutorials how to:
- manage environment variables
- use jotai as state management tool
- and many more other tutorials
🏆 Why to use?
There are a lot of project starters for react native, we have some good features that other starters usually don't have:
- Fully works with EXPO GO
- Good for start of the project, later you can switch to expo-dev-client
- Fully works on WEB
- If you want to develop apps both on web and mobile this starter is good choice for you
- Code generators (create new screen / create new component and others)
- Fully + Strong typed
- App deployment documentation
🔍 How it looks?
🚀 How to use?
We have prepared a detailed documentation for how to run project with this template - Bootstrap docs
It's great for production project, but if you want to just test it, you can follow the quick steps (on the bottom).
🏃♂️ Quick steps:
npx create-expo-app --template=@binarapps/baca-react-native-template name_of_your_app
cd name_of_your_app
yarn bootstrap
- the cli will ask you some questions about your app (you can fill all this data later)
📦 What's inside?
Custom features
- custom cli
- run
yarn baca
to see available options
- run
- generators:
yarn baca generate
|yarn g
- support of multiple environments
- production, staging, qa
- eas configuration
- update, build, submit
- deployment docs
- https://baca-docs.vercel.app/docs/overview
- verifying code on pull request - pipelines
- when creating pull request on github, there are tests, linters and types checks. If there will be some error you will be notified that something is wrong.
- custom fonts
- wait to load fonts and all the assets
- dark / light theme support
- color scheme detection (dark / light mode toggle)
- navigation
- prevent go back (to be used on forms for example)
- auth flow ready for implementation details
- using expo-secure-store module to save user token
- right now it has fully working signIn/signOut logic based on baca backend
- animations with
reanimated
andmoti
Libraries
- TypeScript
- app is fully typed
- Expo v50
- Expo router
- Prettier and eslint
- code formatting
- code checking
- Babel-module-resolver
- unified imports
- jest and @testing-library/react-native
- unit tests
- i18next
- translations
- language detection
@gorhom/bottom-sheet
- Expo-notifications
- You can read how to configure them here
- Reactotron
- used for debugging
- Reanimated
- Axios + React query
- Fetching data from backend
- Jotai
- State management
🔜 What is planned in the future?
- tutorial on how to use features
- navigation
- deepLinking
- auth flows
- components
- react query
- api calls
- state management tool
- Add designs (figma) and redesign whole app
- Updating expo versions (in future)
- Deploy app to App Store and Play Store
- Create sample app and document the process of deployment
- Improve mock server logic
- add commit lint
- libraries to add:
👏 How to contribute?
Contributions are always welcome!
See CONTRIBUTING.md for ways to get started.
Please adhere to this project's code of conduct
.
🤙 How to run locally?
Clone the project
git clone https://github.com/binarapps/baca-react-native-template.git
Go to the project directory
cd baca-react-native-template
Install dependencies
yarn
Start the expo server
yarn start
Environment variables instruction:
- Create empty file
scripts/doppler_variables.sh
and add this script to new created file.
- run
yarn prepare:env_file
- this will copy template and place it inscripts/doppler_variables.sh
- Add correct values to variables (ask one of the developers for that), example:
export DOPPLER_TOKEN_DEVELOPMENT=dp.st.alpha.XXXXxxxxXXXXxxxxXXXXxxxx
Start the expo server
yarn start
📘 License
📝 Feedback
If you have any feedback, please reach out to me at [email protected]
👨👩👧👦 Contributors
- Kacper Grzeszczyk - @kacgrzes
- Mateusz Rostkowski - @MateuszRostkowski
- Michał Szalowski - @MSzalowski
- Jakub Zagórski - @zagoorland
- Łukasz Patalan - @lukasz
- Mario Gliwa - @mario688
- Michał Baumruck - @micbaumr
- Andrzej Zaborski - @AnMiZa
- Bartłomiej Sworzeń - @Sworzen1
- Karol Andracki - @karol-andracki
- Weronika Grzeszczyk - @vercia
- Mateusz Świerczyński - @MatiSwierczynski
📦 Similar packages
- Maintained
- https://github.com/obytes/react-native-template-obytes
- https://github.com/infinitered/ignite
- https://github.com/wataru-maeda/react-native-boilerplate
- Outdated (not maintained anymore):
- https://github.com/kacgrzes/expo-typescript-template (our repo is fork of this one - we keep maintaining this)
- https://github.com/codingki/react-native-expo-template
- https://github.com/flatlogic/react-native-starter
- https://github.com/mcnamee/react-native-expo-starter-kit