This is a base project for React Native that includes various technologies and packages to help you kickstart your development process. It is built using the Expo managed workflow with a blank TypeScript template.
-
Expo managed workflow: The project is set up with the Expo managed workflow, which provides a simplified and efficient development environment.
-
Expo Google Fonts: Easily integrate custom fonts from the Google Fonts library into your application.
-
Styled Components: Use the popular Styled Components library to style your React Native components. The project also includes a theme file where you can define your global styling variables.
-
Path Mapping: Simplify your imports by setting up path mapping, allowing you to use absolute paths instead of relative paths.
-
React Navigation: Implement navigation in your React Native app using React Navigation. The project includes predefined types for routes to ensure type safety and enhance development productivity.
-
Reanimated: Utilize the power of Reanimated, a declarative library for building performant and complex animations in React Native.
-
Skia: Skia is a 2D graphics library that provides powerful rendering capabilities. It is integrated into this project to enhance the visual experience of your app.
-
Gesture Handler: Easily handle gestures and touch events with Gesture Handler, a library that allows for smooth and intuitive user interactions in your React Native application.
-
Expo Vector Icons: Access a wide range of vector icons from various icon libraries using Expo Vector Icons. This package simplifies the process of adding icons to your app.
To get started with this base project, follow these steps:
-
Clone the repository:
git clone https://github.com/felipefreitasa/react-native-base-project.git
-
Install dependencies:
cd react-native-base-project
andnpm install
oryarn install
-
Start the development server:
npx expo start
-
Make changes to the project to fit your specific requirements and start building your React Native app!
The project has the following folder structure:
-
src/components: Contains reusable components used throughout the application.
-
src/routes: Contains navigation-related files, including the main navigation stack and navigation helpers.
-
src/screens: Contains individual screen components of the application.
-
src/themes: Contains theme-related files, including the theme file where you can define global styles.
-
src/types: Contains type definitions used throughout the application.
-
App.tsx: The entry point of the application.
Contributions are welcome! If you have any suggestions or improvements for this base project, feel free to open an issue or submit a pull request.