Hello stranger of the interwebz! If you're like me and like to prototype on ideas that don't let you sleep at night until you have it out of your head and into an app but hate wasting hours on build tools, package installation and boilerplate code, CONGRATS! you've found the holy grail!
In this repository, I will be adding a bunch of templates for you to use to get started with your app on Expo with various server side technologies.
Simulator.Screen.Recording.-.iPhone.13.Pro.Max.-.2021-11-13.at.20.46.32.mp4
Video overview
In every template, besides a variable setup with different backend technologies, you will have the following common features out of the box:
- Authentication 🔐
- Translation 🇬🇧🇮🇹
- Navigation 🚏
- Styling 🎨
- Linting 💄
The template will connect to the backend and setup Sign in and Sign up forms with common user flows such as switching between forms and automatically making main content pages of the app protected behind authentication pages using react-navigation's routing technique.
The template will not have any hardcoded strings, instead it will use the i18n-next along with react-i18next library to translate all static content. Using expo-localization it will always load the app in user's device language on first entry but allow the user to switch to other language and the preference will be maintained on app restart. For now, only italian and english language is supported but it should be very simple to add other languages following the current setup.
Most of the content in the template are styled using tailwind-rn. The code resulting from this choice may not look ideal which is why there are a few components provided as example which shows how to build your own component library within the app with most commonly used/needed elements and styles.`
All navigation and routing is done via react-navigation library. The template uses bottom tab navigator as the main navigation strategy of the app. There are examples included for modal screen implementation that overlays the main tabs.
Using typescript, eslint and prettier, all the templates have clean, consistent and bug-free code. The linter will run on every commit to ensure you're not committing any code with error or non linter-compliant code.